0

私は、サーバーが現場に常駐するゲートウェイであり、クライアントを開発しているサーバークライアントプロジェクトに取り組んでいます。クライアントは、サーバーに接続してデータを取得するようにスケジュールされています。今私の問題は、サーバーが 10 秒間アイドル タイムアウトを持っていることです。サーバーとクライアントが 10 秒間アイドル状態の場合、サーバーはクライアントを自動的に切断します。タイムアウトが発生したためにサーバーがクライアントにメッセージを送信する可能性がないため、接続を閉じているクライアントでタイムアウト例外をキャッチするにはどうすればよいですか。

サーバーが何らかのネットワーク障害のためにクライアント接続を閉じると、クライアントは接続拒否例外を受け取ります。同様に、アイドルタイムアウト接続が必要です。この問題を解決するために私を助けてください。前もって感謝します。

4

1 に答える 1

0

なんらかのネットワーク障害が原因でサーバーがクライアント接続を閉じると、クライアントは接続拒否例外を受け取ります。

いいえ、そうではありません。サーバーがリッスンしているソケットを閉じて、新しい接続を確立しようとすると、それが得られます。

クライアントは、読み取り時に EOS 指示を受け取るか、書き込み時に IOException: "connection reset" を受け取ります。

それがあなたが知ることができる唯一の方法です。

于 2012-09-03T21:40:11.210 に答える