JavaSocketAPI:如何判断连接是否已关闭?
我在JavaSocketAPI中遇到了一些问题。我正在尝试显示当前连接到我的游戏中的玩家数量。这是很容易确定何时球员已经连接。但是,要确定播放机何时使用套接字API断开连接似乎是不必要的困难。
呼叫isConnected()
在断开远程连接的套接字上,似乎总是返回。true
..同样,调用isClosed()
在远程关闭的套接字上,似乎总是返回。false
..我已经读过,要实际确定是否关闭了套接字,必须将数据写入输出流,并且必须捕获异常。这似乎是处理这种情况的一种非常不干净的方法。我们必须不断地通过网络垃圾邮件才能知道套接字何时关闭。
还有别的解决办法吗?