前端使用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 小时前
前端离线暂停更新策略:Service Worker 与 PWA 的静默控制实践
前端
妙码生花2 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(五十八):后台系统配置管理实现
前端·后端·go
用户938515635072 小时前
React 受控/非受控组件与 React.memo 性能优化——从本质到实战
前端·javascript·react.js
IT_陈寒2 小时前
Java并行流把我坑惨了:原来不是线程安全的!
前端·人工智能·后端
计科土狗3 小时前
GESP六级专题之类与对象
java·前端·数据库
anOnion3 小时前
构建无障碍组件之Listbox Pattern
前端·html·交互设计
凌涘3 小时前
前端路由(三):鉴权、拦截与重定向
前端
半个落月3 小时前
从零梳理 React Router:路由、懒加载、嵌套页面与登录鉴权
前端·react.js
tedcloud1234 小时前
Impeccable 部署指南:开源前端设计工具 Linux 环境搭建实践
linux·运维·服务器·前端·人工智能·开源