[AJUDA] Socket Android

Estou tentando criar um socket entre o Java e o android e está dando erro nesta parte

aqui é a parte que envia do Android para o java o que está de errado?

public class enviar {
	private static final String CATEGORIA = "TesteSocket";
	private static final String IP = "10.0.2.2";
	private static final int PORTA = 7777;
	private static Socket socket; 
	
	public int enviarSocket(stockProf registro) {
		try {
			Log.i(CATEGORIA,"Socket conectnado no endereço: " + IP);
			Log.i(CATEGORIA, "Conectando no socket " + IP + ", porta: " + PORTA);
			// Abre o socket
			Log.i("Teste 123", "Passou aqui 1.");
			socket = new Socket(IP, PORTA);
	        	Log.i("Teste 123", "Passou aqui 2.");
			DataOutputStream out = new DataOutputStream(socket.getOutputStream());
			DataInputStream in = new DataInputStream(socket.getInputStream());
			int numero = 10;
			out.writeInt(numero);
			out.flush();
			Log.i("Numero",in.readLine());
			Log.i(CATEGORIA, "Conexão realizada com sucesso.");
			socket.close();
			return 0;
		} catch (IOException e) {
			Log.e(CATEGORIA, e.getMessage(), e);
			return -1;
		}
		
	}
}

11-25 16:17:59.062: I/TesteSocket(305): Socket conectnado no endereço: 10.0.2.2
11-25 16:17:59.062: I/TesteSocket(305): Conectando no socket 10.0.2.2, porta: 7777
11-25 16:17:59.062: I/Teste 123(305): Passou aqui 1.
11-25 16:17:59.083: E/TesteSocket(305): Permission denied
11-25 16:17:59.083: E/TesteSocket(305): java.net.SocketException: Permission denied
11-25 16:17:59.083: E/TesteSocket(305): at org.apache.harmony.luni.platform.OSNetworkSystem.createStreamSocketImpl(Native Method)
11-25 16:17:59.083: E/TesteSocket(305): at org.apache.harmony.luni.platform.OSNetworkSystem.createStreamSocket(OSNetworkSystem.java:186)
11-25 16:17:59.083: E/TesteSocket(305): at org.apache.harmony.luni.net.PlainSocketImpl.create(PlainSocketImpl.java:265)
11-25 16:17:59.083: E/TesteSocket(305): at java.net.Socket.startupSocket(Socket.java:774)
11-25 16:17:59.083: E/TesteSocket(305): at java.net.Socket.tryAllAddresses(Socket.java:194)
11-25 16:17:59.083: E/TesteSocket(305): at java.net.Socket.(Socket.java:258)
11-25 16:17:59.083: E/TesteSocket(305): at java.net.Socket.(Socket.java:222)
11-25 16:17:59.083: E/TesteSocket(305): at socket.enviar.enviarSocket(enviar.java:25)
11-25 16:17:59.083: E/TesteSocket(305): at com.android.appcadastro.AppCadastro$3.onClick(AppCadastro.java:49)
11-25 16:17:59.083: E/TesteSocket(305): at android.view.View.performClick(View.java:2408)
11-25 16:17:59.083: E/TesteSocket(305): at android.view.View$PerformClick.run(View.java:8816)
11-25 16:17:59.083: E/TesteSocket(305): at android.os.Handler.handleCallback(Handler.java:587)
11-25 16:17:59.083: E/TesteSocket(305): at android.os.Handler.dispatchMessage(Handler.java:92)
11-25 16:17:59.083: E/TesteSocket(305): at android.os.Looper.loop(Looper.java:123)
11-25 16:17:59.083: E/TesteSocket(305): at android.app.ActivityThread.main(ActivityThread.java:4627)
11-25 16:17:59.083: E/TesteSocket(305): at java.lang.reflect.Method.invokeNative(Native Method)
11-25 16:17:59.083: E/TesteSocket(305): at java.lang.reflect.Method.invoke(Method.java:521)
11-25 16:17:59.083: E/TesteSocket(305): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
11-25 16:17:59.083: E/TesteSocket(305): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
11-25 16:17:59.083: E/TesteSocket(305): at dalvik.system.NativeStart.main(Native Method)

Obrigado pela ajuda de vocês

Você colocou a permissão de internet no android?

Isso mesmo. faltou a permissão dentro do AndroidManifes.xml
Obrigado pela ajuda!

De nada pow…