Java Android Client Socket无法正常工作

时间:2015-04-16 19:52:18

标签: java android sockets

我错过了什么。我已经检查了其他帖子,并在我的清单中设置了这些帖子。

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

每当我尝试在三星Galaxy Express上创建一个新套接字时,它就永远不会越过这条线。

Socket s = new Socket("10.0.2.2", 4736); 

这是我在runnable中启动套接字的类。

private class SendThread implements Runnable {

    @Override
    public void run() {
        try {
            Socket s = new Socket("10.0.2.2", 4736);       <---never gets past this
            PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(s.getOutputStream())), true);
            out.println(sendString);
            new BufferedReader(new InputStreamReader(s.getInputStream()));
            Log.d(TAG, "sent");
            s.close();
        } catch (Exception e) {
            Log.d(TAG, "error");
            e.printStackTrace();
        }
        Log.d(TAG, "end");
    }

}

服务器套接字

private class ReceiveThread implements Runnable {
    private ServerSocket receiverSocket;
    private BufferedReader input;
    private Socket socket = null;

    public void run() {
        try {
            receiverSocket = new ServerSocket(receivePort);
            receiverSocket.setReuseAddress(true);
            while (killConnection == false) {
                Log.d(TAG, "listening");
                socket = receiverSocket.accept();
                this.input = new BufferedReader(new InputStreamReader(this.socket.getInputStream()));
                Log.d(TAG, "Input from server" + input.toString());
                String s = input.readLine();
                //UpdateUi(s);
                socket.close();
            }
            receiverSocket.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

好的是服务器端套接字没有收听

0 个答案:

没有答案