我遇到了 Java 套接字 API 的一些问题。我试图显示当前连接到我的游戏的玩家数量。很容易判断一个玩家什么时候连接上了。然而,确定一个播放器何时使用套接字 API 断开连接似乎是不必要的困难。
在远程断开连接的套接字上调用 isConnected()
似乎总是返回 true
。类似地,在远程关闭的套接字上调用 isClosed()
似乎总是返回 false
。我读到过,要确定套接字是否已关闭,必须将数据写入输出流,并且必须捕获异常。这似乎是一个非常不干净的方式来处理这种情况。我们只需要不断地通过网络发送垃圾消息,就可以知道套接字何时关闭。
还有别的办法吗?