首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在组件中打开套接字连接

在组件中打开套接字连接
EN

Stack Overflow用户
提问于 2018-02-19 23:04:17
回答 1查看 680关注 0票数 1

遵循官方文档vue-socketio I init socket in store.js。

代码语言:javascript
复制
import VueSocketio from 'vue-socket.io'
import socketio from 'socket.io-client'
Vue.use(VueSocketio, socketio(process.env.SOCKET_PATH), store)

但是socket会在项目打开后立即打开。我可以在我的组件中避免使用这个字符串Vue.use(VueSocketio, socketio(ws://somepath), store)而使用类似于这个this.$socket.connect(ws://somepath)的内容吗?以及如何从一个客户端打开两个不同的套接字连接?

EN

回答 1

Stack Overflow用户

发布于 2018-06-03 08:12:23

您可以使用html5 WebSocket。而且您不需要导入或要求它。它已经提供了。您可以打开任意数量的连接。在组件的脚本中:

代码语言:javascript
复制
...
data() {
  return {
    ws1:  null,
    ws2:  null,
  }
},
mounted() {
  this.startStream1()
  this.startStream2()
},
methods: {
  startStream1 () {
    let vm           = this
    vm.ws1           = new WebSocket("wss://somepath1")
    vm.ws1.onmessage = function (event) {
      vm.$store.dispatch("handleStream", JSON.parse(event.data))

    }
    vm.ws1.onerror   = function (error) {
      console.log(error)
    }
  },
  closeStream1 () {
    this.ws1 && this.ws1.close()
  },
  startStream2() {
    let vm          = this
    vm.ws2          = new WebSocket("wss://somepath2")
    ...
  },
  ...
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48868889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档