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