原理:使⽤setInterval和setTimeout实现,每隔⼀段时间就向服务器发送⼀个数据包,告诉服务器⾃⼰还活着,如果服务器也
活着就回传⼀个数据包,如果断开,需要客户端重连
1.Websocket连接成功时创建⼼跳检测
复制代码
1
2
3
4socket.open() { heart() }
2.Websocket接收消息后进⾏⼼跳重置
复制代码
1
2heart()
3.使⽤setInterVal和setTimeout⽅法实现⼼跳
data() {
return {
timeoutObj: null,
serverTimeoutObj: null
}
}
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17heart() { // 1.通过关闭定时器和倒计时进⾏重置⼼跳 clearInterVal(timeoutObj) clearTimeout(serverTimeoutObj) // 2.每隔30秒向服务端发送⼀个数据包 this.timeoutObj = setInterVal(() => { console.log(‘重置检测⼼跳’) const data = {} socket.send(data) // 发送数据包 // 2秒之后 服务端没有返回数据包就关闭连接重连 serverTimeoutObj = setTimeout(() => { console.log(‘⼼跳没有了,连接断掉了’) socket.close() }, 2000) }, 3000) }
最后
以上就是曾经发箍最近收集整理的关于websocket心跳机制(保活机制)的全部内容,更多相关websocket心跳机制(保活机制)内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复