Чтобы проверить, существует ли комната в Socket.IO, вы можете использовать различные методы, предоставляемые библиотекой Socket.IO. Вот несколько примеров:
-
Использование свойства
io.sockets.adapter.rooms:const roomName = 'room1'; const roomExists = io.sockets.adapter.rooms.has(roomName); if (roomExists) { console.log(`The room ${roomName} exists.`); } else { console.log(`The room ${roomName} does not exist.`); } -
Использование свойства
io.sockets.adapter.sids:const roomName = 'room1'; const roomExists = Object.values(io.sockets.adapter.sids) .some((sockets) => Object.keys(sockets).includes(roomName)); if (roomExists) { console.log(`The room ${roomName} exists.`); } else { console.log(`The room ${roomName} does not exist.`); } -
Использование метода
io.in:const roomName = 'room1'; const room = io.in(roomName); if (room.sockets.size > 0) { console.log(`The room ${roomName} exists.`); } else { console.log(`The room ${roomName} does not exist.`); }
Это всего лишь несколько методов, которые можно использовать для проверки наличия комнаты в Socket.IO. В зависимости от вашего конкретного варианта использования вы можете выбрать наиболее подходящий метод.