@AndrewRusinas

Идентификация пользователя в websocket (vue, express)?

Привет!
Работал ли тут кто с такой связкой - Vue.js, express.js и WebSocket?

От кривости сторонних плагинах, хочу использовать стандартную библиотеку ws.

Основной вопрос возникает на тему идентификации. Как серверу понять, что уведомление нужно отправить определенному клиенту сокета? У клиентов при подключении каждый раз свой ID, который генерируется автоматически (во всяком случае в socket.io было именно так). Так и не разобрался, как на клиенте положить в объект сокета кастомное значение.

И не совсем понятно про комнаты, но это менее важно сейчас (но за ссылку на хорошую статью на эту тему буду признателен).
  • Вопрос задан
  • 975 просмотров
Решения вопроса 1
@kirill-93
Вебсокеты, как и http - это протокол без состояния. То есть, после перезагрузки страницы, сервер не знает, вы это или нет.
Поэтому после подключения к вебсокетам, вам нужно отправить на сервер какой-то идентификатор, например свой id.
На сервере хранить соединения и данные о пользователях. Когда нужно будет отправить сообщение, найдете на сервере нужное соединение и отправите в него данные.

Вот тут хороший пример простого чата на вебсокетах. Без socketio, но сути это не меняет. Автор сохраняет всех клиентов в массив и работает с этим массивом.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы