0
大家下午好!套接字:無法讀取BufferedReader和/或在某些條件下寫入PrintWriter
我試圖創建一個simnple消息應用程序,但我找不到一個大問題的解決方案。完全有兩個重大問題。
下面的代碼:
@Override
public void run() {
String incoming;
try {
while (true) {
if (!connected)
break;
// READING
if (reader.ready() && (incoming = reader.readLine()) != null) {
notifier.putCommand(incoming, this);
incoming = null;
}
// WRITING
synchronized (messagges) {
for (String message : messagges) {
System.out.println("SENDING MESSAGE TO CLIENT: " + message);
writer.println(message);
}
messagges.clear();
}
writer.println("b");
}
} catch (IOException e) {
MyLogger.log(e);
}
}
問題:
如果我不每次都寫垃圾文本到客戶端
(writer.println("b"))
我無法讀取的BufferedReader中的任何消息,發送從中。這怎麼可能?!在客戶端,我只看到很多「b」,但在
(writer.println(message))
的聲明中發送的任何內容。這真的很奇怪,因爲當我在服務器上打印SENDING MESSAGE TO CLIENT時:[...]我在控制檯中看到它,但是這個消息沒有被髮送。
這是什麼問題?