Я только начал работать над узлом js.I пытался создать чат-приложение с помощью узла js. В котором один пользователь может войти в систему через несколько устройств или браузеров. Если я не ошибаюсь, и, насколько я понимаю, каждый из браузеров взаимодействует с другим адресом порта, поскольку сокет-соединение определяется IP-адресом и адресом порта, поэтому, когда один и тот же пользователь входит в систему с двух разных серверов браузеров, создается два разных идентификатора сокета. Теперь я проверяю если пользователь уже подключен, проверив параметр send to socket info. Затем, если пользователь уже подключен или сокет уже настроен для пользователя, я создаю соединение для изменения идентификатора сокета на предыдущий идентификатор сокета.соединение сокета в узле js
io.on('connection', function(socket){
socket.id = k;
});
где к сокет идентификатор ранее присоединенной же пользователем
Теперь, когда любой другой клиент выдает сообщение для текущего пользователя затем сокет идентификатор заменяется и только один браузер получает сообщение или оба из них получает сообщение. Соединение сервера установлено как для браузера, так и для одного браузера. Пожалуйста, помогите мне в этом. Я все еще не понимаю, как устанавливается соединение сокета между клиентом и сервером. Пожалуйста, улучшитесь, если я ошибаюсь, или как решить следующее scenerio. Заранее спасибо
Мой вопрос точно для разных браузеров или компьютеров. Что происходит, когда пользователь входит в систему с нескольких компьютеров или может быть разными браузерами. –
Различные браузеры или разные компьютеры (если у вас нет реализации пространства/пространства имен) будут такими же, как и для многих вкладок. Сокет будет включен, скажем, 'someIp: somePort', например. '98.45.32.21: 3000', который не изменяется, поэтому при отправке сервера« привет »ответит всем приветствие (в приведенной выше реализации). – mkaran
Если вы хотите, чтобы пользователь входил в систему из двух разных браузеров и просматривал одни и те же сообщения - но только его сообщения, то вы должны сопоставить этого пользователя с правильной комнатой, чтобы при подключении со второго браузера, и вы знаете, что это пользователь 'sagar', вы присоединитесь к нему в правильной комнате. – mkaran