vue-socket.io如何连接到多个websocket服务器

时间:2018-08-07 12:14:49

标签: vue.js vuex

我尝试使用vue-socket.io从VUE客户端连接到两个不同的网络套接字服务器,如下所示:

import { store } from '@/store/store'
import { store2 } from '@/store/store2'

Vue.use(Vuex)

Vue.use(VueSocketio, 'http://192.168.1.101:8000', store)
Vue.use(VueSocketio, 'http://192.168.1.102:8001', store2)

我已经创建了2个商店文件store.jsstore2.js

实际上,第一条Vue.use(VueSocketio…可以连接并正常工作,而第二条则不能。因此,在上面的示例中,Port 8000连接了但Port 8001没有连接。当我交换两条线路时,Port 8001将连接,但Port 8000将不连接。

我发现的所有示例仅处理一台Web套接字服务器,并且工作正常。 使用VUE客户端连接到多个Web套接字服务器的最佳实践是什么?

知道我如何建立联系吗?

1 个答案:

答案 0 :(得分:1)

您可以在Github上找到解决方案: https://github.com/MetinSeylan/Vue-Socket.io/pull/98

添加多个名称空间/套接字连接

let connectObj = {
  notification: 'http://localhost:5000/notification',
  client: 'http://localhost:5000/client'
}
Vue.use(VueSocketio, connectObj, store)

这增加了侦听单个Vue实例中的多个套接字实例(用于前命名空间)的功能。 如果将连接作为对象传递,则可以使用这些键进行标识,从而可以隔离侦听器。