2013-10-01 33 views
0

我对NIO套接字级编程很新,需要帮助这里。我的应用程序基于NIO socket,它使用Selectors作为非阻塞通道。的Java NIO的SocketChannel ISOPEN和isConnected方法

想知道在哪种场景下isOpen()isConnected()方法的SocketChannel可以返回false

将数据写入到插座之前,我们正在检查上述两种方法。并间断地看到这些方法返回false。直到关闭它

+0

对于给定的连接,它们不应该是间歇性的。我建议你再次阅读这些方法的javadoc;) –

回答

0

ISOPEN()返回true。如果连接或接受信道

isConnected()返回真。

测试这些不断表明您不明白它们是什么。应用程序应该已经知道它已经建立了自己的连接。可能你认为它们表示连接的状态,,并且它们在对端断开连接时发生改变。他们不。

在将数据写入套接字之前,我们正在检查上述两种方法。并间断地看到这些方法返回false。

我对此表示怀疑。如果你看到这个,你的代码中有bug。