programing

구성 요소의 개방 소켓 연결

kingscode 2023. 6. 10. 16:08
반응형

구성 요소의 개방 소켓 연결

store.js의 공식 docue-socketio iin 소켓을 따릅니다.

import VueSocketio from 'vue-socket.io'
import socketio from 'socket.io-client'
Vue.use(VueSocketio, socketio(process.env.SOCKET_PATH), store)

하지만 소켓은 프로젝트가 열리면 바로 열립니다.이 문자열을 피할 수 있습니까?Vue.use(VueSocketio, socketio(ws://somepath), store)그리고 이런 것을 사용합니다.this.$socket.connect(ws://somepath)내 구성 요소에서.그리고 하나의 클라이언트에서 두 개의 서로 다른 소켓 연결을 어떻게 열 수 있습니까?

html5 WebSocket을 사용할 수 있습니다.그리고 당신은 그것을 수입하거나 요구할 필요가 없습니다.그것은 이미 제공되었습니다.원하는 수의 연결을 열 수 있습니다.구성 요소의 스크립트에서 다음을 수행합니다.

...
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")
    ...
  },
  ...
}

언급URL : https://stackoverflow.com/questions/48868889/open-socket-connection-in-component

반응형