WebSocket 断线重连引入心跳的原因

Posted 代码工作者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebSocket 断线重连引入心跳的原因相关的知识,希望对你有一定的参考价值。

WebSocket 最大的优势就是能够保持前后端消息的长连接,但是在某些情况下,长连接失效并不会得到及时的反馈,前端并不知道连接已断开。例如用户网络断开,并不会触发 websocket 的任何事件函数,这个时候如果发送消息,消息便无法发送出去,浏览器会立刻或者一定短时间后(不同浏览器或者浏览器版本可能表现不同)触发 onclose 函数。

为了避免这种情况,保证连接的稳定性,前端需要进行一定的优化处理,一般采用的方案就是心跳重连。前后端约定,前端按一定间隔发送一个心跳包,后端接收到心跳包后返回一个响应包,告知前端连接正常。如果一定时间内未接收到消息,则认为连接断开,前端进行重连。

 

+

WebSocket断开原因分析,再也不怕为什么又断开了

 

 


https://blog.csdn.net/weixin_34168880/article/details/88859480

以上是关于WebSocket 断线重连引入心跳的原因的主要内容,如果未能解决你的问题,请参考以下文章

webSocket使用心跳包实现断线重连

uniapp即时聊天 websocket封装(建立连接断线重连心跳机制主动关闭)

uniapp即时聊天 websocket封装(建立连接断线重连心跳机制主动关闭)

uniapp小程序webSocket封装、断线重连、心跳检测

基础巩固——长连接 短连接心跳机制与断线重连

WebSocket断开重连机制 实现demo,非采用onclose事件方式