websocket代码提交

This commit is contained in:
2025-02-19 11:00:09 +08:00
parent ce92a1d645
commit c06bd9fa24

View File

@@ -53,7 +53,7 @@ export default class SocketService {
// 1.连接服务端失败 // 1.连接服务端失败
// 2.当连接成功之后, 服务器关闭的情况 // 2.当连接成功之后, 服务器关闭的情况
this.ws.onclose = () => { this.ws.onclose = () => {
console.log('连接服务端失败'); console.log('连接webSocket服务端关闭');
this.connected = false; this.connected = false;
this.connectRetryCount++; this.connectRetryCount++;
this.clearHeartbeat(); this.clearHeartbeat();
@@ -76,7 +76,7 @@ export default class SocketService {
if(event.data == 'over') { if(event.data == 'over') {
//心跳消息处理 //心跳消息处理
this.lastResponseHeartTime = Date.now(); this.lastResponseHeartTime = Date.now();
this.updateLastActivityTime(); // 收到心跳响应时更新活动时间
}else { }else {
let message: { [key: string]: any }; let message: { [key: string]: any };
try { try {
@@ -106,7 +106,7 @@ export default class SocketService {
startHeartbeat() { startHeartbeat() {
const _this = this const _this = this
const url = window.URL.createObjectURL(new Blob(['(function(e){setInterval(function(){this.postMessage(null)},10000)})()'])); const url = window.URL.createObjectURL(new Blob(['(function(e){setInterval(function(){this.postMessage(null)},9000)})()']));
this.work = new Worker(url) this.work = new Worker(url)
this.work.onmessage = function(e){ this.work.onmessage = function(e){
//判断多久没收到心跳响应 //判断多久没收到心跳响应
@@ -114,6 +114,7 @@ export default class SocketService {
if(_this.lastActivityTime - _this.lastResponseHeartTime > 30000){ if(_this.lastActivityTime - _this.lastResponseHeartTime > 30000){
//说明已经三轮心跳没收到回复了,关闭检测,提示用户。 //说明已经三轮心跳没收到回复了,关闭检测,提示用户。
ElMessage.error("业务主体模块发生未知异常,请尝试重新启动!"); ElMessage.error("业务主体模块发生未知异常,请尝试重新启动!");
_this.clearHeartbeat();
return; return;
} }
_this.sendHeartbeat(); _this.sendHeartbeat();
@@ -172,6 +173,6 @@ export default class SocketService {
if (this.connected) { if (this.connected) {
this.ws.close() this.ws.close()
} }
console.log('WS关闭..'); console.log('执行WS关闭命令..');
} }
} }