У меня проблема с 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 сообщать об ошибках, иногда он будет излучать дважды.
Другой поток будет использовать такие комнаты, как:
- Пользователь A отправляет сообщение в гнездо пользователя B и создает комнату. автоматически, вероятно, с идентификатором пользователя B
- Пользователь B получает сообщение и автоматически присоединяется к комнате, чтобы он мог отправлять сообщения обратно
Но я хочу использовать функциональные возможности комнаты на странице комнаты, эта функциональность i работаю только над соединением между пользователем A и пользователем B, особенно если у каждого пользователя есть идентификатор сокета по умолчанию, который я могу использовать для их подключения.
Кто-нибудь может помочь?