WebSocket在vue项目中的使用

1、使用背景:项目前端需要实时渲染后台传回的消息。
2、WebSocket 的定义是:是一个对象,用于创建和管理 WebSocket 连接,以及可以通过该连接发送和接收数据。
WebSocket 对象经常使用到的属性有一下这些:

  • WebSocket.onopen:用于指定连接成功后的回调函数
  • WebSocket.onmessage:用于指定当从服务器接受到信息时的回调函数
  • WebSocket.onclose:用于连接关闭后的回调函数
  • WebSocket.onerror:用于连接关闭后的回调函数
  • WebSocket.readyState:当前的链接状态
  • WebSocket.url:WebSocket的绝对路径
  • WebSocket.protocol:服务器选择的下属协议
    3、使用 WebSocket 需要先创建一个 WebSocket 的对象:new WebSocket(url)
    4、下面是在项目中使用的具体代码
methods: {
	// 初始化一个 websocket 对象,同时给基本属性赋值
	initWebSocket: function () {
        let host = window.location.host; // 这个 host 根据具体接口的实际情况自行定义 
        // WebSocket与普通的请求所用协议有所不同,ws等同于http,wss等同于https,此处传入需要跟后台连接的接口路径
        this.websock = new WebSocket(`ws://${host}/api-tframe/atf/${this.form.projectId}`);
        this.websock.onopen = this.websocketonopen;
        this.websock.onerror = this.websocketonerror;
        this.websock.onmessage = this.websocketonmessage;
        this.websock.onclose = this.websocketclose;
    },
    // 定义 websocket open属性的函数
	websocketonopen: function () {
        console.log('WebSocket连接成功');
    },
    // 定义 websocket onerror属性的函数
    websocketonerror: function (e) {
        console.log('WebSocket连接发生错误');
    },
    // 定义 websocket onmessage属性的函数
    websocketonmessage: function (e) {
        console.log('e:', e.data);
        this.messageList.push(e.data);
    },
    // 定义 websocket onclose属性的函数
    websocketclose: function (e) {
        console.log('connection closed');
    }
},
created () {
	// 调用初始化函数(这个可以根据具体业务在具体操作下初始化)
     this.initWebSocket();
},
// 页面销毁时关闭 websocket 的连接
destroyed () {
 	 this.websocketclose();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值