0

私は NIO ソケット レベルのプログラミングに非常に慣れていないため、ここで助けが必要です。私のアプリケーションは、非ブロッキング チャネルをNIO socket使用する場所に基づいています。Selectors

SocketChannel のどのシナリオisOpen()とメソッドが を返すことができるか知りたいです。isConnected()false

ソケットにデータを書き込む前と同様に、上記の 2 つの方法をチェックしています。これらのメソッドが false を返すことが断続的に見られます。

4

1 に答える 1

1

isOpen() は、閉じるまで true を返します。

isConnected() は、チャンネルに接続または承認した場合に true を返します。

これらを継続的にテストすることは、それらが何のためにあるのか理解していないことを示しています。アプリケーションは、独自の接続を行った状態を既に認識している必要があります。おそらく、それらは接続の状態を示しており、ピアが切断されると変化すると思います。彼らはしません。

ソケットにデータを書き込む前と同様に、上記の 2 つの方法をチェックしています。これらのメソッドが false を返すことが断続的に見られます。

疑わしい。これが表示される場合は、コードにバグがあります。

于 2013-10-01T22:28:38.357 に答える