注释:WebSocket允许服务端主动向客户端推送数据。在WebSocketAPI中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输,除非一方主动断开握手。
如果只是某几个地方需要用到WebSocket,就没有必要进行封装,直接使用,代码如下:
data(){
wsLink:''
}
watch:{
wsLink(val){
this.initWS()
}
}
mouted(){
this.wsLink = 'ws://xxxxxx'
}
methods:{
initWebSocket() {
this.websock = new WebSocket(this.websockLink);
this.websock.onopen = this.websocketonopen;
this.websock.onerror = this.websocketonerror;
this.websock.onmessage = this.websocketonmessage;
this.websock.onclose = this.websocketclose;
},
// 连接成功
websocketonopen() {
console.log("WebSocket连接成功");
this.websock.send("eventmes");
},
// 连接失败
websocketonerror(e) {
// console.log("WebSocket连接发生错误", e);
},
// 返回的数据,进行处理
websocketonmessage(e) {
// console.log("WebSocket信息通知", e.data);
},
// 关闭连接
websocketclose(e) {
console.log("关闭WebSocket连接", e);
},
}
// 一般是在数销毁前关闭websocket连接
beforeDestroy() {
this.websocketclose();
},