Отличить WebSockets от двух экземпляров веб-браузера - PullRequest
0 голосов
/ 30 сентября 2018

У меня есть приложение Node js.Требуется 3 сервера websocket на 3 разных портах.На внешнем интерфейсе 3 веб-разъема подключаются к каждому порту

[Browser.WebSocketClient:500] <--> [NodeJs.WebSocketServer:500]
[Browser.WebSocketClient:501] <--> [NodeJs.WebSocketServer:501]
[Browser.WebSocketClient:502] <--> [NodeJs.WebSocketServer:502]

На внешнем интерфейсе, когда приложение загружается, каждый сокет создается и подключается независимо.В какой-то момент на стороне сервера мне нужно координировать все три подключенных клиента, чтобы менеджер знал, что они все из одного экземпляра браузера.Это было бы достаточно просто с использованием IP-адреса, но можно открыть второй веб-браузер и подключить еще 3 сокета, и так далее (и мне это нужно для тестирования).Отметка времени не является достаточно надежной для работы (предположим, что обе вкладки браузера были открыты одновременно).

Я знаю, что одним из решений может быть отправка uuid через веб-сокет при подключении, но это будет с внешнего интерфейса, что означает, что он может быть легко подделан (Javascript ftw).

Есть ли способ идентифицировать эти три сокета как исходящие из одного и того же экземпляра браузера?По сути, это должно быть что-то встроенное, что я мог бы использовать как uuid.

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