[英]Multiple messages same PrintWriter
我正在使用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();
第二條消息沒有發送! 我能做什么?
確保您的服務器端不斷讀取更多信息。 如果只有它,例如執行以下操作:
bufferedReader.readLine();
只有一次,這就是您認為它沒有收到的原因。 可能是連接沒有關閉。
因為您說過它不是“發送”第二條消息,所以另一種可能是確保套接字連接保持打開狀態,並且閱讀器在服務器端仍處於打開狀態,並且在收到第一條消息后沒有關閉它。
發送所有消息時,請使用flush()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.