Я использую версию 2.3.0 и хочу получить список объектов сокетов, которые присоединились к определенной комнате. Теперь я знаю, что в прошлом было много подобных вопросов, и из того, что я собрал, следующий код можно использовать для получения списка идентификаторов сокетов в данной комнате (поправьте меня, если я ошибаюсь):
io.of('/').in('room_name').clients((error, clients) => {
if (error) throw error;
// Returns an array of client IDs like ["Anw2LatarvGVVXEIAAAD"]
console.log(clients);
});
Из этих идентификаторов клиентов похоже, что я могу получить реальные объекты сокетов, используя io.of('/').in('room_name').connected[id]
?
Чего я не понимаю, что на самом деле содержит io.of('/').in('room_name').connected
? Документация не дает четкого представления о том, что это карта объектов сокетов, подключенных к этой комнате. Однако, если бы это было так, не мог бы я просто получить список объектов сокетов, например, так:
const sockets = Object.values(io.of('/').in('room_name').connected)
В прошлом было много вопросов по этому поводу (для пример ), и никто из них, кажется, не упоминает об этом. connected
на самом деле не содержит того, что я думаю? Или это актуально только при использовании нескольких узлов Socket.IO?