让我们假设以下情况:
我们获得了连接,并为某个远程服务器“ A”创建了SocketChannel
:SocketChannel ch = ...
我们默默地停止了“ A”上的所有联网(例如,如果重要,则调用类似tc qdisc add dev eth0 root netem loss 100%
之类的东西)
问题是:根据规范,
ch.isConnected()
?
在我看来,尽管其基本物理通道已完全断开,但一旦连接并没有关闭,它便保持“连接”状态(即答案为true
值)。我对吗?如果我是对的,有什么好方法可以在不重新创建通道的情况下进行正确的连接测试?
P.S。在我的测试中,我确实获得了true
的价值,但是我想确保那里没有愚蠢的错误,因此我想依靠规范而不是凭经验。