前端使用webscoket

前端

javascript 复制代码
<template>
  <div class="wrap">
    <button @click="socketEmit">连接Socket</button>
    <button @click="socketSendmsg">发送数据</button>
  </div>
</template>

<script>
export default {
  data(){
    return {
      randomId:null,
    }
  },
  methods:{
    socketEmit(){
      // 开始连接 socket
      this.$socket.open();
      // 订阅事件,testCall 是与后端约定好的名称
      this.sockets.subscribe('testCall', (res) => {
        if(res.code == 200 && res.randomId === this.randomId){
          console.log('召唤成功')

        }
      })
    },
    // 发送消息
    socketSendmsg(){
      this.randomId = Math.random();
      // testCall 是与后端约定好的名称
      this.$socket.emit('testCall', {
        "randomId": this.randomId,
        "deviceId": "123456"
      });
    },
  },
  sockets: {
    connect: function () {
      console.log('连接成功')
    },
    disconnect: function () {
      console.log('断开连接')
    },
    reconnect: function () {
      console.log('重新连接')
    },
  },
  beforeDestroy(){
    // 关闭 Socket
    this.sockets.unsubscribe('testCall');
    this.$socket.close();
  },
}
</script>

main.js

javascript 复制代码
import VueSocketIO from 'vue-socket.io'

Vue.use(new VueSocketIO({
  // 生产环境建议关闭,开发环境打开(在控制台看到socket连接和事件监听的信息)
  debug: true,
  connection:'http://metinseylan.com:1992',
  options:{
    // 创建时是否自动连接 我们这里设定为false,在指定页面再开启
    autoConnect: false,
    // 路径(默认值:/socket.io/)
    path: "/my-app/",
    // 目前有两种传输方式:HTTP long-polling(可简称:polling)、WebSocket
    transports: ['polling'],
    // 附加请求头(在服务器端的 socket.handshake.headers 对象中找到)
    extraHeaders:{},
  },
}))
相关推荐
葡萄城技术团队1 小时前
1000 人协同压测的环境瓶颈排查:CPU 争用与 Wi\-Fi
前端
excel3 小时前
Marked 与 Markdown 有什么区别?该怎么选?
前端
Da Da 泓3 小时前
五子棋 Web 端测试用例报告
前端·网络·websocket·网络协议·测试用例·项目
zxcvb1534 小时前
远程查看本地文档:一条轻量 Web 文件服务的工程化链路
前端·远程查看文档
niucloud-admin4 小时前
NIUCLOUD PHP SAAS上门家政使用文档:城市管理
java·前端·php
北岛贰5 小时前
啵啵音乐迎来全新升级!
前端
hkNaruto7 小时前
【AI】基于大模型的AI游戏地图生成、控制方案:AI Native Game Harness 迁移操作手册
前端·人工智能·游戏
IT_陈寒7 小时前
Java序列化踩坑记:对象循环引用让我加班两小时
前端·人工智能·后端
Acro7 小时前
快给macOS 上的Grok Bot换一套皮肤
前端
flash俊杰7 小时前
双引擎 OCR 编排:逐页判定、视觉优先、partial 语义与三层超时
前端