断开连接后,我无法连接到socket.io房间



在第一个连接用户成功加入房间。但是,断开连接后,房间重新加入失败。当我尝试在房间间断后连接时,此代码将作为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")
 });

disconnect:

  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);
  })

因此,由于socket.io默认行为

,当用户断开用户时,连接似乎没有关闭

这可以通过在加载上强迫新连接来解决因此,在客户端替换:

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

var socket=io.connect(':3000', {'force new connection': false})

这似乎对我有用在使用socket.disconnect()断开连接到服务器的套接字连接后,您可以使用

socket.connect((

建立连接返回 Server 再次。

最新更新