【问题标题】:Multiple messages same PrintWriter多条消息相同的 PrintWriter
【发布时间】:2014-03-30 09:32:18
【问题描述】:

我正在使用 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();

第二条消息没有发送!我能做什么?

【问题讨论】:

  • 尝试 print() 方法而不是 println()。

标签: java sockets flush


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    发送所有消息时使用flush()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多