Гнездо ввода-вывода без создания помещения - PullRequest
0 голосов
/ 28 апреля 2020

У меня проблема с Socket.IO.

Я делаю socket.emit('chat-msg', msg) на внешнем интерфейсе.

На сервере я слушаю с socket.on('chat-msg' , (msg) => { io.to(theSocket).emit('chat-msg', msg); });

Это сокет получает сообщение, я не получаю его, когда слушаю спереди с socket.on, поэтому я могу pu sh сообщение внутри массива, потому что я отправляю сообщение только этому сокету и моему переднему socket.on ('сообщение чата') слушатель не получает сообщение, которое я отправил.

Если я делаю только io.emit ('chat-msg, msg), на сервере он отправляет все подключенные сокеты, что звучит как проблема безопасности.

Если я отправлю io.to (thatSocket) .emit ('chat-msg', msg) и io.to (mySocket) .emit ('chat-msg', msg) на в то же время я посылаю ему один раз и снова обратно ко мне, чтобы я мог получить сообщение от слушателя спереди, чтобы я мог скопировать sh. Но я буду go сообщать об ошибках, иногда он будет излучать дважды.

Другой поток будет использовать такие комнаты, как:

  1. Пользователь A отправляет сообщение в гнездо пользователя B и создает комнату. автоматически, вероятно, с идентификатором пользователя B
  2. Пользователь B получает сообщение и автоматически присоединяется к комнате, чтобы он мог отправлять сообщения обратно

Но я хочу использовать функциональные возможности комнаты на странице комнаты, эта функциональность i работаю только над соединением между пользователем A и пользователем B, особенно если у каждого пользователя есть идентификатор сокета по умолчанию, который я могу использовать для их подключения.

Кто-нибудь может помочь?

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