vue-socket.io正确使用方式为全局引入(main.js),默认唯一数据源。如何达成多数据源连接?我的思路是组件中再开一个客户端,控制作用域为局部,那么sockets.subscribe()就无法监听。
import vueIO from 'vue-socket.io';
定义客户端
this.websocket = new vueIO({
debug: false,
connection: 'http://*.*.*.*:8062',
options: {
path:'/websocket.ws',
transports: ['websocket'],
autoConnect: false,
}
})
同时声明io对象
this._socket = this.websocket.io
挂载connect,顺便向客户端发出自定义事件
this._socket.on('connect', (data) => {
console.log('已连接')
this._socket.emit('BROADCAST_TEST','BROADCAST_TEST')
})
挂载自定义事件【这种写法多少有些猥琐】
this.websocket.emitter.addListener('hello', (data) => {
console.log(data)
},this)