在第一次连接时,用户成功加入房间。但是,断开连接后,房间重新加入失败。当我在房间断开连接后尝试连接时,此代码将房间返回为undefined
。
如何处理www.example.com重新连接的好主意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);
})
2条答案
按热度按时间pvcm50d11#
因此,由于www.example.com的默认行为,当用户断开连接时,连接似乎没有关闭Socket.io
这可以通过forcing new connection on loading修复,因此在客户端替换:
与
ukdjmx9f2#
这似乎对我有用在断开使用
socket.disconnect()
到服务器的套接字连接后,您可以使用socket.connect()
重新建立回服务器的连接。