代码改变世界
[登录 · 注册]
  • websocket 心跳重连
  • WebSocket是什么

    websocket作用是来做消息的实时推送

    websocket的基本事件有onopen、onmessage、onerror、onclose这四个事件,onopen是连接已打开,且可以通信,onmessage是收到消息,onerror是websocket发生错误,onclose是websocket连接关闭。

    为什么会进行心跳检测

    检测websocket是否在线

    简单地说就是:为了证明客户端与服务端的连接是否活着。websocket 在使用过程中,如果遭遇网络问题等,这个时候服务端没有触发onclose事件,这样会产生多余的连接,并且服务端会继续发送消息给客户端,造成数据丢失。因此需要一种机制来检测客户端和服务端是否处于正常连接的状态,心跳检测和重连机制就产生了。

    怎么进行心跳检测和重连

    1. 每隔一段指定的时间(计时器),向服务器发送一个数据,服务器收到数据后再发送给客户端,正常情况下客户端通过onmessage事件是能监听到服务器返回的数据的,说明请求正常。
    2. 如果再这个指定时间内,客户端没有收到服务器端返回的响应消息,就判定连接断开了,使用websocket.close关闭连接。
    3. 这个关闭连接的动作可以通过onclose事件监听到,因此在 onclose 事件内,我们可以调用reconnect事件进行重连操作。

    代码实现:https://blog.csdn.net/zcq_1234/article/details/103101877

         https://www.cnblogs.com/buxiugangzi/p/11379883.html

  • 【推广】 阿里云小站-上云优惠聚集地(新老客户同享)更有每天限时秒杀!
    【推广】 云服务器低至0.95折 1核2G ECS云服务器8.1元/月
    【推广】 阿里云老用户升级四重礼遇享6.5折限时折扣!
  • 原文:https://www.cnblogs.com/yizhilin/p/13555605.html
Copyright 2008-2020 晋ICP备12007731号-1