【发布时间】:2019-06-23 03:03:29
【问题描述】:
我想确保我的客户只能加入一个房间。为此,我想遍历服务器上的 socket.rooms 并为每个房间调用 leave。如下所示:
//Pseudo code//
for each room in socket.rooms {
socket.leave(room)
}
谢谢
【问题讨论】:
标签: socket.io
我想确保我的客户只能加入一个房间。为此,我想遍历服务器上的 socket.rooms 并为每个房间调用 leave。如下所示:
//Pseudo code//
for each room in socket.rooms {
socket.leave(room)
}
谢谢
【问题讨论】:
标签: socket.io
Object.keys(socket.rooms).forEach(function(roomName){
socket.leave(roomName) // this removes user from all of the existing rooms
});
在这里,我们通过运行一个数组来获取客户所在的房间,然后将他从循环中的所有房间中删除
【讨论】:
Socket io 房间是成套保存的,所以你应该使用Array.from()。示例
Array.from(socket.rooms).forEach((roomId) => {
socket.leave(roomId);
});
【讨论】: