vue中使用websocket

一、websocket可以干什么

对于前端工程师来说,一般是前端通过触发事件,主动发起请求来获取后台数据。但是特定情况下,需要后端服务器主动推送数据到前端。这时候普通的axios等请求是无法实现的,websocket恰好可以实现这个需求。

二、vue中使用websocket

  1. 在src -> utils文件夹里面添加variable.js文件在这里插入图片描述
const socketRoot = 'ws://xx.x.xxx.xxx:xxxx/ws' // 服务器

export default {
  socketRoot
}

  1. 在main.js中全局引用
import variable from "./utils/variable";
Vue.prototype.websocketUrl = variable
  1. 在组件中使用
初始化:
	created(){
      this.init()
    }

离开页面后关闭:
 	destroyed () {
      this.socket.close()// 关闭连接
    }

methods里面的方法:

	 init () {
        if(typeof(WebSocket) === "undefined"){
          alert("您的浏览器不支持socket")
        }else{
          this.socket = new WebSocket(this.websocketUrl.socketRoot) // 实例化socket
          this.socket.onopen = this.open// 监听socket连接
          this.socket.onerror = this.error // 监听socket错误信息
          this.socket.onmessage = this.getMessage   // 监听socket消息
          this.socket.onclose = this.close   // 关闭socket消息
        }
      },
      open () {
        console.log("温度socket连接成功")
      },
      error() {
        console.log("连接错误")
      },
      getMessage(msg) {
       console.log("推送回来的数据",msg)
      },
      close(){
        console.log("socket已经关闭")
      }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值