在弱网环境或者网络暂时断连的情况下,我们需要一套稳定的重连机制来保证在网络不稳定的时候,客户端和服务端能够重连,继续通信。本文将会针对websocket协议的重连机制进行详细描述。
![bfef26093ff66b599a0a634e4e66f558.png](https://img-blog.csdnimg.cn/img_convert/bfef26093ff66b599a0a634e4e66f558.png)
思路
在实例化websocket后,我们会定义好各个回调事件需要执行的函数
var ws = new WebSocket(url);
ws.onclose = function () {
//连接关闭
};
ws.onerror = function () {
//连接报错
};
ws.onopen = function () {
//连接成功
};
ws.onmessage = function (event) {
//收到数据
}
在弱网环境下,发送消息无法抵达接收端;抑或,断网到浏览器约定时限等一些异常情况都会触发onclose和onerror,所以理论上,我们只要在onclose和onerror时,重新创建长连接就可以。
实现
根据上面的简单思路,代码如下:
var ws