Я использую этот код:BufferedReader.readLine() приостанавливает мое приложение?
while (true) {
sendData("hi");
System.out.println("Data sent!");
BufferedReader inFromServer;
try {
inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
} catch (IOException e1) {
inFromServer = null;
e1.printStackTrace();
}
System.out.println("Recieved!"); //I see this de-bug message.
try {
modifiedSentence = inFromServer.readLine();
System.out.println("FROM SERVER: " + modifiedSentence); //I do NOT see this de-bug message!
} catch (IOException e) {
e.printStackTrace();
}
}
Он успешно отправляет данные на сервер - и сервер успешно отправляет данные обратно:
public void run() {
//handle the session using the socket (example)
try {
sendData("Hi");
System.out.println("Data sent!"); //I see this de-bug message.
} catch (Exception e) {
e.printStackTrace();
}
}
Однако по какой-то причине, приложение, кажется, остановиться на inFromServer.readLine(). Я вижу «Полученный!» de-bug, но не сообщение de-bug «FROM SERVER».
Там нет ошибок на всех. Кажется, он висит там.
Почему это висит, и как я могу это исправить?
Одна проблема заключается в том, что вы не вырывались из 'в то время (правда)' петля – imtheman
@imtheman «ОТ СЕРВЕРА» находится в цикл, это не проблема. –
@ Jean-FrançoisSavard Правда, это не проблема *, но проблема * a *. – imtheman