3
私はいくつかのサーバーに複数の接続があり、このためにNIOを使用したいという状況があります。NIOチャンネルの接続エラーを検出する方法
セレクタは、読み込むデータがあるときに私に教えてくれます。接続がもはや接続されていないことを知る方法はありますか?書き込みが失敗したときや、何らかの操作でスローされた例外をキャッチするとか? 私はこれをノンブロッキングにする必要があります。これは、接続が失敗した場合、チャンネルを再確立する(つまり、同じサーバーへの新しいチャンネルが確立される)ようにしたいと思います。
ありがとうございます!それは接続の失敗に対しても機能するように思われるので、読み書きにも意味があります。 – jbx
*チャンネルが壊れている場合、select()が戻り、チャンネルの選択キーが読み書き可能であることを示します*、これは当てはまりません、SocketChannelから読み込み中、ケーブルが抜かれています。 'は** 0 ** **を返し続け、チャンネルは決して再び選択されません。読み込み/書き込み可能な状態を無視してチャンネルを読み書きすると、 'read()'は** - **を返さず、** 0 **を返し続け、 'write()'は例外をスローしません。現在、私はソケットの切断を検出する方法が見つからない、誰かが私に手掛かりを与える? – neevek
@neevekこれまでこれを解決しましたか? –