Socket.io: как определить клиент конкретного пользователя?
Пишу чат, но есть проблема: как определить клиент конкретного пользователя?
Например, пользователь A шлёт сообщение пользователю Б, при этом сокет с сообщением должен бить доставлен только пользователю Б и никому другому. Как это сделать?
Это называется "авторизация".
Если без регистрации, то сделайте так: пользователь перед доступом в чат просто вводит свой ник и отправляет серверу, на сервере в памяти в массиве добавляется новый клиент соответствующий данному сокету, а с точки зрения сервера у каждого клиентского подключения свой сокет и нет никаких проблем, сервер может получить сообщение только от конкретного сокета и отправить тоже.
Mikhail Osher: На уровне TCP вообще нет таких понятий, поэтому там я волен называть как хочу! Создатели WebSocket не сделали ничего для того, чтобы облегчить этот процесс, да и вообще протокол не так уж далеко ушел от TCP, поэтому они мне не указ.