2014-02-27 27 views
0

我使用Java和套接字comunicate客戶端/服務器應用程序。多個消息相同的PrintWriter

我想將消息發送到服務器這樣的:

is = socket.getInputStream(); 
BufferedReader br = new BufferedReader(new InputStreamReader(is)); 

pw = new PrintWriter(socket.getOutputStream()); 

pw.println("MESSAGE"); 

pw.flush(); 

這效果很好,但是那之後我試圖發送另一個消息

pw.println("SECOND MESSAGE"); 

pw.flush(); 

而第二個消息不發送!我能做什麼?

+1

嘗試print()方法而不是println()。 – Rahul

回答

0

確保您的服務器端始終閱讀更多的投入。如果只有它說,例如執行:
bufferedReader.readLine();
只有一次,那麼這是你認爲它是不接受它的原因。這可能是如果連接沒有關閉。

另一種可能性,因爲你說這是不是「送」的第二個消息,是確保套接字連接保持打開狀態,讀者仍然在服務器端開着的,第一條消息是後沒有關閉接收。

0

使用flush()當所有的消息被髮送。

相關問題