如何缩小 socket.io 房间大小

How to decrease socket.io room size

我正在为我的一对一聊天应用程序使用套接字 io。我现在正面临这个问题。当用户将通过单击结束聊天按钮手动断开或结束聊天时。但是从那个用户没有删除的套接字。每次房间大小都保持不变。我如何从套接字连接中删除该用户。

您可以使用 socket.leave 方法。

"To leave a channel you call leave in the same fashion as join."

socket.leave('room');
 socket.on('create or join', function(room)
    {
        numClients = io.sockets.clients(room).length;
        console.log("user joining the room");
        console.log(numClients);

        if (numClients === 0)
        {
            socket.join(room);
            socket.emit('created', room);
        }
        else if (numClients == 1)
        {
            io.sockets. in (room).emit('join', room);
            socket.join(room);
            socket.emit('joined', room);
        }
        else
        {
            socket.emit('full', room);
        }
        socket.emit('emit(): client ' + socket.id + ' joined room ' + room);
        socket.broadcast.emit('broadcast(): client ' + socket.id + ' joined room ' + room);
    });