открывать и прослушивать несколько подключений через веб-сокеты - PullRequest
0 голосов
/ 17 января 2020

Мне было просто интересно, могу ли я в любом случае открыть и прослушать несколько соединений веб-сокетов со стороны сервера, используя node js и библиотеку ws?

const WebSocket = require('ws');
const servers = ["ws://server1:port", "ws://server2:port"];

  servers.forEach(w => {
    var ws = new WebSocket(w);

    ws.binaryType = "arraybuffer";

    ws.onopen = () => {
      console.log('websocket open')

      ws.send("Hello Server");
    };

    ws.onmessage = function(e) {
      console.log('websocket message event:', e)
    };

    ws.onclose = function() {
      console.log("ws close");
    };
});

1 Ответ

0 голосов
/ 17 января 2020

В вашем коде переменная ws будет каждый раз перезаписываться на l oop.

. Вы можете попробовать следующее. socketInstances будет иметь array из WebSocket instance.


const WebSocket = require('ws');
const servers = ["ws://server1:port", "ws://server2:port"];

let socketInstances = [];

  servers.forEach(w => {

    socketInstances[w] = new WebSocket(w);

    socketInstances[w].binaryType = "arraybuffer";

    socketInstances[w].onopen = () => {
      console.log('websocket open')

      socketInstances[w].send("Hello Server");
    };

    socketInstances[w].onmessage = function(e) {
      console.log('websocket message event:', e)
    };

    socketInstances[w].onclose = function() {
      console.log("ws close");
    };
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...