在长时间连接,没有通讯时,实际情况可能会出现断连,所以要设置心跳包
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连接失败'); },
|