NodeJS Предпочтительный способ разделения путей WebSocket для нескольких страниц - PullRequest
0 голосов
/ 29 августа 2018

Заранее извиняюсь, если вопрос ошибочен / запутан, я не был уверен, как правильно его сформулировать.

Я использую ws для создания сервера веб-сокетов. Клиент будет иметь несколько страниц, допустим, например,

  1. / дом
  2. / Настройка
  3. / загрузки

Пример нескольких серверов:

// on home page
const ws = new WebSocket('ws://x.x.x.x/home');
ws.send(JSON.stringify(type:'request-for-information'});

// on settings page
const ws = new WebSocket('ws://x.x.x.x/settings');
ws.send(JSON.stringify(type:'get-settings'});

// on upload page
const ws = new WebSocket('ws://x.x.x.x/upload');
ws.send(JSON.stringify(type:'file-upload'});

Пример одного сервера:

// on all pages
const ws = new WebSocket('ws://x.x.x.x/');
ws.send(JSON.stringify({path:'/home', type:'request-for-information'});
ws.send(JSON.stringify({path:'/settings', type:'get-settings'});
ws.send(JSON.stringify({path:'/upload', type:'file-upload'});

Было бы лучше создать новый сервер веб-сокетов для каждой страницы, позволяющий сообщениям иметь одинаковый тип, не конфликтуя с другими страницами. Или было бы ужасно открывать новый порт для каждой страницы?

Согласно документам ws, вы можете указать путь при создании нового экземпляра класса WebSocket.Server, позволяющий абстрагировать каждую страницу; но это вызывает проблемы, когда есть более 3 страниц, и вы в конечном итоге запускаете 20 серверов веб-сокетов, или это вполне нормально?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...