webSocket用法

在长时间连接,没有通讯时,实际情况可能会出现断连,所以要设置心跳包

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
initSocket() { // 初始化webSocket
let url = `ws://xxxxxxx`;
this.webSocket = new WebSocket(url)
this.webSocket.onopen = this.webSocketOnOpen
this.webSocket.onclose = this.webSocketOnClose
this.webSocket.onmessage = this.webSocketOnMessage
this.webSocket.onerror = this.webSocketOnError
},
webSocketOnOpen() { // 连接成功
Notification.success("已连接,等待接入。")
console.log('websocket连接成功');
this.webHeart = setInterval(()=>{ // webSoket 心跳包
this.webSocket.send("心跳包");
},60000)
},
webSocketOnMessage(res) { // 等待接收数据
console.log('===res=================================');
console.log(res);
console.log('====================================');
},
webSocketOnClose() { // 连接关闭
this.socketClose = true;
clearInterval(this.webHeart); // 清除心跳包
console.log('websocket连接已关闭');
},
webSocketOnError(res) { // 连接失败
if(this.webHeart){
clearInterval(this.webHeart); // 清除心跳包
};
console.log('websocket连接失败');
},