概述
原理:使⽤setInterval和setTimeout实现,每隔⼀段时间就向服务器发送⼀个数据包,告诉服务器⾃⼰还活着,如果服务器也
活着就回传⼀个数据包,如果断开,需要客户端重连
1.Websocket连接成功时创建⼼跳检测
socket.open() {
heart()
}
2.Websocket接收消息后进⾏⼼跳重置
heart()
3.使⽤setInterVal和setTimeout⽅法实现⼼跳
data() {
return {
timeoutObj: null,
serverTimeoutObj: null
}
}
heart() {
// 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心跳机制(保活机制)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复