あなたはすべての部屋を見るとどのようなソケットIDはできるが、このようなコードでそれらにあります
:
let rooms = io.sockets.adapter.rooms;
for (let room of Object.keys(rooms)) {
console.log("room");
console.log(" ", rooms[room]);
}
io.sockets.adapter.rooms[room]
は、このようなその部屋にいるすべてのソケットIDを持つオブジェクトが含まれています
{
sockets: {
'm3wgTTKn-beT9TdyAAAB': true,
'mr-p1uL_jjeLzd0UAAAA': true
},
length: 2
}
そして、socket.id与え、あなたから実際のソケットオブジェクトを取得できます。
io.sockets.connected[id]
一緒にすべてを置く、あなたはこのような特定の部屋にすべてのソケットを列挙できます。
function getListOfSocketsInRoom(room) {
let sockets = [];
try {
let socketObj = io.sockets.adapter.rooms[room].sockets;
for (let id of Object.keys(socketObj)) {
sockets.push(io.sockets.connected[id]);
}
} catch(e) {
console.log(`Attempted to access non-existent room: ${room}`);
}
return sockets;
}
この時点で、あなたが収集するためにその配列を介して実行することができますので、あなたが部屋にソケットの配列を持っていますどんな情報(例えばスコア)を探していました。
これは、受け入れられた回答として設定する必要があります、トリック、ありがとう:) – CatalinBerta