Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我对 NIO 套接字级编程非常陌生,在这里需要帮助。我的应用程序基于NIO socket它使用Selectors非阻塞通道的位置。
NIO socket
Selectors
想知道SocketChannel的哪些场景isOpen()和isConnected()方法可以返回false。
isOpen()
isConnected()
false
与向套接字写入数据之前一样,我们正在检查上述两种方法。并且间歇性地看到这些方法返回错误。
isOpen() 在您关闭它之前返回 true。
如果您已连接或接受通道,isConnected() 将返回 true。
不断测试这些表明您不了解它们的用途。应用程序应该已经知道它自己的连接所处的状态。可能您认为它们指示连接状态,并且当对等方断开连接时它们会发生变化。他们没有。
我对此表示怀疑。如果您看到这种情况,则说明您的代码中存在错误。