//websocket实时获取数据
initWebSocket(){
if(this.websocket){
this.websocket.close()
this.websocket = null
}
this.websocket = new WebSocket(‘ws://172......’);//该处写后台地址
// console.log(this.websocket)
let that = this.websocket;
that.onopen = this.websocketonopen;
that.onerror = this.websocketonerror;
that.onmessage = this.websocketonmessage;
that.onclose = this.websocketclose;
},
websocketonopen() { //发送成功回调
console.log("WebSocket连接成功");
let that = this
window.onbeforeunload = function() {
that.websocket.close();
}
},
websocketonerror(e) { //错误回调
console.log(e,"WebSocket连接发生错误");
},
websocketonmessage(e){ //数据接收
// console.log(e,'数据接收')
this.heartCheck()
if(e.data){
console.log(e.data)
let data = JSON.parse(e.data).data
if(data){
//自己展示弹框的封装方法
this.showNotification(data)
}
}
},
websocketclose(e){ //关闭
// 这里做了个长链接意外关闭后重新链接的操作
console.log('关闭',e)
let that = this
if(!this.disconnectTimer){
this.disconnectTimer = setTimeout(()=>{
that.initWebSocket()
that.disconnectTimer = null
},1000)
}
// if(e){
// this.websocket.close()
// this.websocket = null
// }
},
webSocket的应用(即时消息,实时获取数据)
最新推荐文章于 2024-05-03 09:20:26 发布