当其名称不再需要某个房间时,有什么办法可以将其完全删除。
我尝试了以下答案,但不起作用:
https://stackoverflow.com/a/23342511
我正在使用socketio 2及其引发以下错误:

node_modules/socket.io-adapter/index.js:210


if (fn) process.nextTick(fn.bind(null, null, sids));TypeError: fn.bind is not a function

基本上,是否有用于删除/删除房间的快捷方式,而不是对每个套接字执行leave

最佳答案

在这里,我终于解决了这个问题:

io.of('/').in('room name').clients(function(error, clients) {
    if (clients.length > 0) {
        console.log('clients in the room: \n');
        console.log(clients);
        clients.forEach(function (socket_id) {
            io.sockets.sockets[socket_id].leave('room name');
        });
    }
});


这应该与socket.IO 2.x版本一起使用

关于node.js - Socket.IO按名称删除房间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45032397/

10-13 09:16