Заранее извиняюсь, если вопрос ошибочен / запутан, я не был уверен, как правильно его сформулировать.
Я использую ws для создания сервера веб-сокетов. Клиент будет иметь несколько страниц, допустим, например,
- / дом
- / Настройка
- / загрузки
Пример нескольких серверов:
// 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 серверов веб-сокетов, или это вполне нормально?