websocket后台重启后自动重连,即全部前台代码

本文介绍如何在WebSocket后台服务重启后,利用JavaScript实现在前端的自动重连功能,确保通信的连续性。内容包括具体的前台引用示例和重连逻辑的实现细节。
摘要由CSDN通过智能技术生成
import { Message } from 'element-ui'
import store from '@/store'
let websock = null
const wsUrl = 'ws://' + window.location.hostname + ':58888/webSocketMsg'
let running = false
let statusMsg = '未连接'
let lockReconnect = false
let reconnectTimeout
const messageHandlers = []
var heartCheck = {

  timeout: 60000,
  timeoutId: null,
  servertimeoutId: null,
  // 调用下面的start方法是为了开始计时,timeout时间到了就发送心跳。
  // 每隔timeout这个start方法就要被调用一次,要是不调用它,它就就关闭websock , huang
  start: function() {
  //  console.log('websocket启动start')
    statusMsg = 'heart check start'
    store.commit('global/SET_SOCKT_MSG_STATUS', 'socket心跳检查开启正常')

    var self = this
    // 清空之前发起的两个计时器
    this.timeoutId && clearTimeout(this.timeoutId)
    this.servertimeoutId && clearTimeout(this.servertimeoutId)
    // setTimeout()的返回值是计时器id,此值可用于取消计时器
    // clearTimeout就是关闭计时器方法,他接受计时器id
    // 用这个数值来唯一确定结束哪一个setTimeout()方法
    // 他们都属于全局对象window
    this.timeoutId = setTimeout(function() {
      // 心跳发送计时器,开始计时当计时时间超过this.timeout就发'ping'给后台
      websock.send('ping')
      console.log('ping')
      // 关闭websock计时器,如果时间超过this.timeout关闭
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值