近日发现不少文章被转载,本博客内均为博主原创文章,转发务必写明来源,否则有权追究.
问题:
当websocket服务器故障或用户掉线时,websocket默认连接超时大约20-30s才onclose,这样当用户上线或服务器故障恢复时,至少要等待30s才能连上.
需求:
当超过设定时长未能连上就断开重连,不默认等待.
解决方案:
websocket=>连接=>setTimeout验证readyState!=1则断开=>onclose进行重连.
范例代码:
var wsData={
url:'wss://localhost',timeout:5000}
本文探讨了WebSocket连接在服务器故障或用户掉线时存在的超时问题,指出默认超时时间较长可能导致用户重新上线或服务器恢复后无法快速连接。为解决此问题,提出了一种解决方案:通过设置setTimeout在指定时长后检查readyState,若未连接成功则主动断开,并在onclose事件中触发重连。示例代码展示了如何实现这一策略,从而实现更高效的连接管理和重连机制。
订阅专栏 解锁全文

1万+

被折叠的 条评论
为什么被折叠?



