私はクライアント/サーバーアプリケーションを持っています。クライアントをサーバーの一方の端に接続するストリームを閉じるとき、他方の端にクライアントを接続するときに(ローカル環境のLANで) (つまり、私のクライアントでは、クライアントをサーバに接続するストリームを閉じ、サーバの反対側では、それが目立ち、サーバストリームを囲むtry-catchブロックの例外として報告されますコード)。ストリームが閉じられたときにシグナルが送信される
どうすれば可能ですか?クライアント/サーバーは、ストリームを閉じる直前にストリームが閉じられている特定のコードを送信しますか?それは広いネットワーク(大規模WANなど)でも適用可能ですか?
大きな問題は、一方の端でストリームを閉じるときに、もう一方の端で気付かれ、そのスレッドを閉じて、決して無限に待つことなくデータを受け取るという事実に頼ることができますそのストリームは閉じているという事実のために来る?
クライアントとサーバの間の最大距離は700キロ(それが役割を果たしている場合、私は知らないが、私は念のためにそれを言及した)
感謝です!
私のクライアントからデータを送信しようとすると接続が閉じられていますが、クライアントが未知の要因によって接続が切断されたことが通知されていない場合、クライアントはデータ送信されていませんでしたか? – Alex
サーバー・マシンがオンであると仮定すると、クローズされた接続にデータを送信すると、「接続のリセット」というエラー・メッセージが表示されます。ホストが停止している場合は、ICMPエラーメッセージが表示されることがあります。メッセージがまったく認識されない場合、ローカルTCPスタックはタイムアウト後にエラーを生成します。 –