我找到了一些解决方案,但它们看似日期并且无效。
如何检测用户与哪个房间断开连接?
答案 0 :(得分:1)
我不知道你对房间的意思是什么,但如果它是一个聊天应用程序或类似的东西 您可以在第一次连接时在socketID对象上创建变量,如roomID。
io.sockets.on("connection",function(socket){
socket.on("new:user",function(userDATA){
// create variable as roomID on socket.
socket.roomID = userDATA.roomID
});
// other events
socket.on("disconnect",function(data){
var roomID = socket.roomID;
// do what you want to do
});
});
答案 1 :(得分:-1)
使用socket.io 1.0,您可以使用以下代码执行此操作:
socket.on('disconnect', function() {
console.log(socket.rooms);
});
它将输出用户加入的房间数组。
请注意,每个套接字自动加入以此套接字ID命名的房间。所以你可能会看到像
这样的东西[ 'hIP6r4z8Ym1n5SQUAAAA', 'my_room_name' ]
在你的控制台中。