HTML5 websocket 客户端未检测到意外的服务器断开连接
Posted
技术标签:
【中文标题】HTML5 websocket 客户端未检测到意外的服务器断开连接【英文标题】:HTML5 websocket client does not detect unexpected server disconnect 【发布时间】:2019-11-07 14:59:11 【问题描述】:我有一个系统,其中 html5 WebSocket 客户端连接到 ws.js WebSocket 服务器。目前,ws.js 有一个内置的 ping pong 系统来定期检查客户端是否仍然连接并处于活动状态。如果客户端意外脱机,服务器可以强制关闭该客户端并清理连接。
但是,如果 WebSocket 服务器意外脱机。 html5客户端没有收到onclose事件。
有什么方法可以检测(最好是事件驱动的)意外的 WebSocket 服务器宕机,以便客户端可以运行其 onclose 功能?
通过实施我自己的 ping/pong 轮询机制,我有一个当前“有效”的解决方案。不过,我宁愿这更受事件驱动,谢谢投票。
感谢任何可以提供帮助的人:)
【问题讨论】:
【参考方案1】:如果 websocket 服务器由于例如网络故障而没有发送 CLOSED 或 CLOSING readyState,则没有事件检测到这一点。 ping/pong 是处理这个问题的正确方法
【讨论】:
以上是关于HTML5 websocket 客户端未检测到意外的服务器断开连接的主要内容,如果未能解决你的问题,请参考以下文章
spring websocket客户端没有检测到网络连接丢失
将图像从 websocket 服务器 .NET 发送到客户端 (HTML5)
使用 Openfire、Javascript (strophe.js) 和 html5 websockets 的聊天客户端?