优化代码

This commit is contained in:
java110 2021-10-12 12:02:24 +08:00
parent f42a146acd
commit 874c631229

View File

@ -213,17 +213,24 @@
let heartCheck = {
timeout: 30000, // 9分钟发一次心跳比server端设置的连接时间稍微小一点在接近断开的情况下以通信的方式去重置连接时间。
serverTimeoutObj: null,
pingTime: new Date().getTime(),
reset: function () {
clearTimeout(this.timeoutObj);
clearTimeout(this.serverTimeoutObj);
return this;
},
start: function () {
var self = this;
let self = this;
this.serverTimeoutObj = setInterval(function () {
if (websocket.readyState == 1) {
console.log("连接状态,发送消息保持连接");
websocket.send("{'cmd':'ping','clientId':'"+clientId+"'}");
let _pingTime = new Date().getTime();
//保护,以防 异常
if (_pingTime - self.pingTime < 15 * 1000) {
return;
}
websocket.send("{'cmd':'ping','clientId':'" + clientId + "'}");
self.pingTime = _pingTime;
heartCheck.reset().start(); // 如果获取到消息,说明连接是正常的,重置心跳检测
} else {
console.log("断开状态,尝试重连");
@ -277,7 +284,7 @@
//接收到消息的回调方法
websocket.onmessage = function (event) {
heartCheck.reset().start();
heartCheck.reset().start();
console.log("event", event);
let _data = event.data;
try {
@ -285,7 +292,7 @@
} catch (err) {
return;
}
if (_data.code == 200) {
toastr.info(_data.msg);
} else {