2014-02-27 41 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()当所有的消息被发送。

相关问题