Я не могу подключиться к комнате Socket.io после отключения - PullRequest
0 голосов
/ 13 мая 2019

При первом подключении пользователи успешно присоединяются к комнатам.Однако после отключения повторное объединение номеров завершается неудачно.Этот код возвращает номер как undefined, когда я пытаюсь подключиться после отключения помещения.

Есть какие-нибудь хорошие идеи, как справиться с повторным подключением Socket.io?

Сервер:

io.on('connection', function onConnection(socket){
   socket.on('adduser', function(data){
      socket.room=data.room ; 
      socket.join(socket.room)
          })

   })

socket.on('drawing', function(points) {
       console.log("on room"+ socket.room)//logs undefined on reconnect 
        io.to(socket.room).emit('drawing', points);

console.log("broadcasting")
 });

при отключении:

  socket.on('disconnect', function(){
       console.log(socket.room)

       socket.leave(socket.room);

})

Клиент:

var socket = io.connect(':3000');

socket.on('connect', function(){
        console.log("emit socket")
    socket.emit('adduser', data);
  })

1 Ответ

0 голосов
/ 13 мая 2019

, поэтому кажется, что соединение не закрывается, когда пользователь отключается из-за поведения по умолчанию Socket.io

это можно исправить с помощью принудительно установив новое соединение при загрузке поэтому на стороне клиента замените:

var socket=io.connect(':3000')

с

var socket=io.connect(':3000', {'force new connection': false})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...