Java Socket API:检测 WebSocket 关闭
在 Java 的 Socket API 中,确定连接是否已关闭可能具有挑战性。即使对于远程断开的套接字,isConnected() 方法也会返回 true,而尽管远程关闭,isClosed() 仍然为 false。
传统方法
许多开发人员诉诸于不断编写垃圾消息发送到输出流并检查异常以检测关闭。然而,这种方法效率低下,并且污染网络。
替代解决方案
不幸的是,没有明确报告连接状态的 API。相反,可以使用以下方法来推断套接字是否已关闭:
读/写操作:如果对等方已正常关闭连接:
连接断开:如果连接断开突然:
读取超时:如果对等方仍处于连接状态但不活动:
以上是如何使用 Java 的 Socket API 可靠地检测 WebSocket 连接关闭?的详细内容。更多信息请关注PHP中文网其他相关文章!