ホームページ  >  記事  >  Java  >  Java ソケット クライアントがサーバー応答を受信しないのはなぜですか?

Java ソケット クライアントがサーバー応答を受信しないのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-09 07:13:01425ブラウズ

Why Is My Java Socket Client Not Receiving Server Replies?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。