我正在使用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();
第二条消息没有发送!我该怎么办?
答案 0 :(得分:0)
确保您的服务器端始终在读取更多输入。如果你只是说它例如表演:
bufferedReader.readLine();
只有一次,这就是你认为它没有收到它的原因。可能是连接未关闭。
自你说它不是“发送”第二条消息以来的另一种可能性是确保套接字连接保持打开状态,并且读取器仍然在服务器端打开,并且在收到第一条消息后它没有关闭
答案 1 :(得分:0)
在发送所有邮件时使用flush()
。