1
我试图实现一个简单的套接字,从服务器发送和接收字符串。Android套接字连接冻结
下面的代码是冻结应用程序,不知道如果我做了什么明显错误?
public String internetRoutesRetrieve(String userName) {
String command = null;
String response = null;
Socket socket = null;
DataOutputStream dataOutputStream = null;
DataInputStream dataInputStream = null;
try {
socket = new Socket("Hidden IP", HiddenPort);
dataOutputStream = new DataOutputStream(socket.getOutputStream());
dataInputStream = new DataInputStream(socket.getInputStream());
command = "SEARCH <" + userName + ">";
dataOutputStream.writeUTF(command);
response = dataInputStream.readUTF();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
finally {
if (socket != null) {
try {
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (dataOutputStream != null) {
try {
dataOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (dataInputStream != null) {
try {
dataInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return response;
}
感谢
编辑:看来程序,当我试图挽救从服务器上的Android应用适当的客户端服务器通信的响应
哪个线程运行这个? –
我没有使用线程作为目标api是8 – user2321428
不知道我在跟着,这显然运行在客户端,Android用户线程运行这个?或其他线程? –