vue中 使用socketIO实时通讯

本文介绍了如何在Vue项目中安装和配置vue-socket.io库,以实现与后台的实时通信。通过在main.js中引入并注册vue-socket.io,设置socket连接地址,并在App.vue中监听socket的连接、断开、重连及接收到的数据,从而展示如何进行消息的发送和接收。同时,文章展示了如何将接收到的数据进行处理并存储到Vuex状态管理中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.安装 vue-socket.io

npm install vue-socket.io --save


2.注册和使用
 

// 引入 socket.io
import VueSocketIO from 'vue-socket.io';
// 使用 socket.io
Vue.use(new VueSocketIO({
  debug: true,
  connection: ``, //xxx填后台给的socket地址,端口号根据实际后台端口写
  vuex: {
    store,
    mutationPrefix: "SOCKET_",
    actionPrefix: "SOCKET_"
  }
}));

3.App.vue

export default {
    // socket.io
  sockets: {
    //查看socket是否连接成功
    connect() {
      console.log("socket.io链接成功");
      // 向服务端发消息
      // this.sockets.emit("ClientReceive", "socket.io连接成功后向后台发送消息");
    },
    disconnect() {
      console.log("socket.io断开链接");
    }, //检测socket断开链接
    reconnect() {
      console.log("socket.io重新链接");
    },
    //客户端接收后台传输的socket事件
    ClientReceive(data) {
      const messageData =
        data.message == "hello client" ? "" : JSON.parse(data);
      if (messageData) {
        this.$elementMessage(messageData.content);
        // 格式化消息时间戳
        messageData.createTime = this.$utils.formatDateAll(
          messageData.createTime
        );
        this.$store.dispatch("SOCKET_CONTENT_CHANGE", messageData);
      }
      console.log("--messageData", messageData); //接收的消息
    }
    // 调用 io,接收服务端发来的推送
    // this.sockets.subscribe("ClientReceive", data => {
    //   console.log("ClientReceive", data);
    // });
  }
}



 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

船长在船上

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值