zoukankan      html  css  js  c++  java
  • vue使用websocket

    initWebSocket() {
        //初始化websocket
       this.ws = new WebSocket(url) // 在data中定义ws为null
        this.ws.onmessage = this.websocketonmessage
        this.ws.onopen = this.websocketonopen
        this.ws.onerror = this.websocketonerror
         this.ws.onclose = this.websocketclose
        },
        websocketonopen() {
         // 连接websocket成功时的回调
        console.log('连接成功')
       },
      websocketonmessage(e) {
        //获取websocket推送的数据
        let re_msg = e.data
        // 转码,防止有百分号出现
        re_msg = unescape(re_msg.replace(/\u/g, '%u'))
        re_msg = JSON.parse(re_msg)
       },
       // 连接失败时重新连接
       websocketonerror() {
        this.initWebSocket()
       },
       // 断开链接后报错
       websocketclose(e) {
        this.initWebSocket()
       },注意:如果需要发送心跳的话,只需要在onopen里写一个定时器,定时发送心跳数据即可,离开页面时记得清除定时器。例:
    
    setInterval(() => {
        if (_this.ws != null && _this.ws.readyState == _this.ws.OPEN) {
         let req = {
          自定义字段: '自定义数据',
         }
         _this.ws.send(JSON.stringify(req))
        }
       }, 7500)
  • 相关阅读:
    微信公众号接口配置
    OFBIZ:启动之ContainerLoader
    OFBIZ:启动之StartupLoader
    Capture a Screen Shot
    在 Windows 上安装Rabbit MQ 指南
    Quartz.NET管理周期性任务
    使用Topshelf创建Windows服务
    Redirecting Console.WriteLine() to Textbox
    Greenplum 备忘
    CockroachDB 备忘
  • 原文地址:https://www.cnblogs.com/lyt520/p/14573411.html
Copyright © 2011-2022 走看看