我得到了一個讀寫網絡套接字的線程。線程突然停止,沒有例外或錯誤消息
public void run() {
try {
Socket socket = new Socket("10.0.1.11", 19456);
out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String message = "13" + seperator + "0" + seperator + "userdata";
out.write(message);
out.flush();
while (listen) {
String input = "";
for (int letter = in.read(); letter != -1; letter = in.read()) {
System.out.println((char)letter);
input += (char)letter;
}
System.out.println(input);
displayText(input);
}
socket.close();
} catch (UnknownHostException e) {
displayText("Could not connect to server!");
} catch (IOException e) {
displayText("Could not open IO to server!");
}
}
但是,for循環後的所有內容都沒有執行。 for循環中的System.out.println打印出它應該的所有字母,但for循環後面的System.out.println和displayText函數從不執行(用斷點檢查)...我錯過了什麼這裏? :S
in.read()blocking? – ssteinberg