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