前端使用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:{},
  },
}))
相关推荐
Novlan12 分钟前
Stepper 小数输入精度丢失 Bug 修复
前端
陈随易8 分钟前
刚上市就断货?如此火爆的编程显示器到底有什么魔力
前端·后端·程序员
兆子龙22 分钟前
前端哨兵模式(Sentinel Pattern):优雅实现无限滚动加载
前端·javascript·算法
豆苗学前端38 分钟前
彻底讲透浏览器渲染原理,吊打面试官
前端·javascript·面试
踩着两条虫1 小时前
AI 驱动的 Vue3 应用开发平台 入门指南(五):创建 H5 移动应用
前端·vue.js·ai编程
ZengLiangYi1 小时前
用 AudioContext.suspend()/resume() 作为流式音视频的同步门控
前端·音视频开发
踩着两条虫1 小时前
AI 驱动的 Vue3 应用开发平台 入门指南(二):快速入门
前端·vue.js·ai编程
程序员阿耶1 小时前
CSS滚动条样式从入门到实战:打造跨浏览器的自定义滚动条
前端
范小饭1 小时前
哼,要变天了:副业赚18块的自救实录
前端
天蓝色的鱼鱼3 小时前
从“死了么”到“我在”:用uniCloud开发一款温暖人心的App
前端·uni-app