我使用這個代碼: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()方法。我看到「收到!」刪除錯誤消息,但不包含「從服務器」刪除錯誤消息。
有沒有錯誤可言。它似乎只是掛在那裏。
爲什麼它掛着,我該如何解決?
一個問題發送的「行」是你不打破的'而(真)'循環 – imtheman 2015-03-02 16:43:59
@imtheman「從服務器」是在循環,這不是問題。 – 2015-03-02 16:49:11
@ Jean-FrançoisSavard誠然,這不是*問題,但它是一個*問題。 – imtheman 2015-03-02 16:50:32