我错过了什么。我已经检查了其他帖子,并在我的清单中设置了这些帖子。
<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();
}
}
}
好的是服务器端套接字没有收听