Node.js socket.io检测用户已从哪个房间断开连接

Node.js socket.io检测用户已从哪个房间断开连接,node.js,socket.io,Node.js,Socket.io,我已经找到了一些解决方案,但它们似乎过时了,而且不起作用 我怎样才能检测到用户断开了与哪个房间的连接?我不知道你说的房间是什么意思,但如果它是聊天应用程序或类似的东西 第一次连接时,可以在套接字对象(如roomID)上创建变量 io.sockets.on("connection",function(socket){ socket.on("new:user",function(userDATA){ // create variable as roomID on socket

我已经找到了一些解决方案,但它们似乎过时了,而且不起作用


我怎样才能检测到用户断开了与哪个房间的连接?

我不知道你说的房间是什么意思,但如果它是聊天应用程序或类似的东西 第一次连接时,可以在套接字对象(如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
    }); 
});

使用socket.io 1.0,您可以使用以下代码执行此操作:

socket.on('disconnect', function() {
  console.log(socket.rooms);
});
它将输出用户加入的房间数组

请注意,每个套接字都会自动将一个名为的房间与该套接字的ID连接起来

[ 'hIP6r4z8Ym1n5SQUAAAA', 'my_room_name' ]
在你的控制台里