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

时间:2019-05-12 21:06:55

标签: javascript node.js socket.io client-server real-time

在第一次连接时,用户成功加入了会议室。但是,断开连接后,房间重新加入失败。当我在断开房间连接后尝试连接时,此代码将房间返回为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 :(得分:0)

因此,当用户由于Socket.io默认行为而断开连接时,似乎未关闭连接

这可以通过forcing new connection on loading来解决 因此在客户端替换:

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

使用

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