websocket代码提交
This commit is contained in:
@@ -20,6 +20,7 @@ export default class SocketService {
|
|||||||
// 重新连接尝试的次数
|
// 重新连接尝试的次数
|
||||||
connectRetryCount = 0;
|
connectRetryCount = 0;
|
||||||
work:any;
|
work:any;
|
||||||
|
workerBlobUrl:any;
|
||||||
lastActivityTime= 0; // 上次活动时间戳
|
lastActivityTime= 0; // 上次活动时间戳
|
||||||
lastResponseHeartTime = Date.now();//最后一次收到心跳回复时间
|
lastResponseHeartTime = Date.now();//最后一次收到心跳回复时间
|
||||||
|
|
||||||
@@ -107,9 +108,9 @@ export default class SocketService {
|
|||||||
startHeartbeat() {
|
startHeartbeat() {
|
||||||
this.lastResponseHeartTime = Date.now();
|
this.lastResponseHeartTime = Date.now();
|
||||||
const _this = this
|
const _this = this
|
||||||
const url = window.URL.createObjectURL(new Blob(['(function(e){setInterval(function(){this.postMessage(null)},9000)})()']));
|
_this.workerBlobUrl = window.URL.createObjectURL(new Blob(['(function(e){setInterval(function(){this.postMessage(null)},9000)})()']));
|
||||||
this.workerBlobUrl = url; // 存储临时的Blob URL
|
|
||||||
this.work = new Worker(url);
|
this.work = new Worker(_this.workerBlobUrl);
|
||||||
this.work.onmessage = function(e){
|
this.work.onmessage = function(e){
|
||||||
//判断多久没收到心跳响应
|
//判断多久没收到心跳响应
|
||||||
|
|
||||||
@@ -135,13 +136,14 @@ export default class SocketService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
clearHeartbeat() {
|
clearHeartbeat() {
|
||||||
if (this.work) {
|
const _this = this
|
||||||
this.work.terminate();
|
if (_this.work) {
|
||||||
this.work = null;
|
_this.work.terminate();
|
||||||
|
_this.work = null;
|
||||||
}
|
}
|
||||||
if (this.workerBlobUrl) {
|
if (_this.workerBlobUrl) {
|
||||||
window.URL.revokeObjectURL(this.workerBlobUrl); // 释放临时的Blob URL
|
window.URL.revokeObjectURL(_this.workerBlobUrl); // 释放临时的Blob URL
|
||||||
this.workerBlobUrl = null;
|
_this.workerBlobUrl = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user