WebSocket的使用

64 阅读1分钟
//建立连接
init() { 
    if ('WebSocket' in window) { 
        this.websocket = new WebSocket('ws://后端websocket网址') 
        this.initWebSocket() 
    } else { 
        this.$message.error("当前浏览器不支持WebScoket!请切换浏览器后尝试"); 
    } 
} ,

initWebSocket() { 
    // 连接错误 
    this.websocket.onerror = this.setErrorMessage 
    // 连接成功 
    this.websocket.onopen = this.setOnopenMessage 
    // 收到消息的回调 
    this.websocket.onmessage = this.setOnmessageMessage 
    // 连接关闭的回调 
    this.websocket.onclose = this.setOncloseMessage 
    // 监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。 
    window.onbeforeunload = this.onbeforeunload 
}, 
setErrorMessage() { 
    console.log('WebSocket连接发生错误状态码:' + this.websocket.readyState)
}, 
setOnopenMessage() { 
    console.log('WebSocket连接成功状态码:' + this.websocket.readyState) 
}, 
setOnmessageMessage(event) { 
    var data = JSON.parse(event.data);
    console.log(data); 
    // 根据服务器推送的消息做自己的业务处理 
}, 
setOncloseMessage() { 
    console.log('WebSocket连接关闭 状态码:' + this.websocket.readyState) 
}, 
onbeforeunload() { 
    this.websocket.close()
},