Java ソケット: クライアント要求に対する応答しないサーバー応答への対処
提示されたシナリオでは、クライアントはサーバーに文字列を正常に送信し、プロンプトを表示します。処理して応答するサーバー。ただし、クライアントはサーバーの応答を受信できません。
根本原因:
この問題は、行末文字 (「rn」) が行末に追加されていないことが原因で発生します。出力ストリームに書き込まれる文字列。これにより、クライアントとサーバー間の通信が妨げられ、サーバーの応答がクライアントに気付かれないことになります。
解決策:
これを解決するには、「rn」が末尾に追加されていることを確認してください。
クライアントの変更:
string = "end"; out.write(string + "\r\n"); out.flush();
サーバーの変更:
out.write("to end" + "\r\n"); out.flush(); out.close(); System.out.println("end");
を追加することで行終了文字を使用すると、クライアントとサーバー間の通信フローが改善されます。サーバーの応答をクライアントが認識できるようになり、クライアント側で必要な印刷機能を実現できるようになります。
以上がJava ソケット クライアントがサーバー応答を受信しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。