多条消息与PrintWriter相同

时间:2014-02-27 06:02:23

标签: java sockets flush

我正在使用java和套接字来组合客户端/服务器应用程序。

我想像这样向服务器发送消息:

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();

第二条消息没有发送!我该怎么办?

2 个答案:

答案 0 :(得分:0)

确保您的服务器端始终在读取更多输入。如果你只是说它例如表演:
bufferedReader.readLine();
只有一次,这就是你认为它没有收到它的原因。可能是连接未关闭。

自你说它不是“发送”第二条消息以来的另一种可能性是确保套接字连接保持打开状态,并且读取器仍然在服务器端打开,并且在收到第一条消息后它没有关闭

答案 1 :(得分:0)

在发送所有邮件时使用flush()