1
Я пытаюсь реализовать простой сокет, который отправляет и получает строки с сервера.Android socket connect freezing
Следующий код замораживает приложение, не уверен, что я сделал что-то явно неправильное?
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;
}
Благодаря
Edit: Кажется, программа замораживания, когда я пытаюсь сохранить ответ от сервера
какой поток запустить это? –
Я не использую нить, поскольку цель api равна 8 – user2321428
Не уверен, что я следую, это, очевидно, выполняется на стороне клиента, работает ли пользовательский поток Android? или какой-то другой поток? –