WebSocket 断线重连引入心跳的原因
Posted 代码工作者
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebSocket 断线重连引入心跳的原因相关的知识,希望对你有一定的参考价值。
WebSocket 最大的优势就是能够保持前后端消息的长连接,但是在某些情况下,长连接失效并不会得到及时的反馈,前端并不知道连接已断开。例如用户网络断开,并不会触发 websocket 的任何事件函数,这个时候如果发送消息,消息便无法发送出去,浏览器会立刻或者一定短时间后(不同浏览器或者浏览器版本可能表现不同)触发 onclose 函数。
为了避免这种情况,保证连接的稳定性,前端需要进行一定的优化处理,一般采用的方案就是心跳重连。前后端约定,前端按一定间隔发送一个心跳包,后端接收到心跳包后返回一个响应包,告知前端连接正常。如果一定时间内未接收到消息,则认为连接断开,前端进行重连。
+
WebSocket断开原因分析,再也不怕为什么又断开了
https://blog.csdn.net/weixin_34168880/article/details/88859480
以上是关于WebSocket 断线重连引入心跳的原因的主要内容,如果未能解决你的问题,请参考以下文章
uniapp即时聊天 websocket封装(建立连接断线重连心跳机制主动关闭)
uniapp即时聊天 websocket封装(建立连接断线重连心跳机制主动关闭)