在第一次连接时,用户成功加入了会议室。但是,断开连接后,房间重新加入失败。当我在断开房间连接后尝试连接时,此代码将房间返回为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);
})
答案 0 :(得分:0)
因此,当用户由于Socket.io默认行为而断开连接时,似乎未关闭连接
这可以通过forcing new connection on loading来解决 因此在客户端替换:
var socket=io.connect(':3000')
使用
var socket=io.connect(':3000', {'force new connection': false})