2016-03-20 3 views
0

Проблема заключается в следующем:Учитывая, что пользователь подключается к серверу (используя socket.io), как я могу подключиться к этому пользователю в комнату, в которой он принадлежал?

Пользователь подключается к серверу с определенным идентификатором socketId и размещается с партнером в определенной комнате. Эта комната для них одна одна, и комната не используется повторно.

Однако из-за сбоя в сети пользователи отключаются, а затем снова подключаются.

Вопрос в том, как подключить пользователей к комнате, в которой они были использованы, в первую очередь при их повторном подключении?

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

спасибо.

ответ

0
var room = user1 + user2; 
socket.join(room); 
io.to(room).emit('message', message); 

В комнате может быть создан на основе имени пользователя, здесь в комнате создается конкатенации имя пользователя в порядке возрастания. Таким образом, когда пользователь A подключается к B или наоборот, они подключаются к той же комнате, что и AB.

Смежные вопросы