Nodejs的io中io.sockets.adapter.rooms在哪里?

Aqu*_*irl 5 javascript sockets io node.js

/sf/answers/470914811/

简短的回答:
io.sockets.adapter.rooms

我分析了io:

如该答案所示,io 的套接字输出部分包含以下内容:

sockets: 
   { manager: [Circular],
     name: '',
     sockets: { '210837319844898486': [Object] },
     auth: false,
     flags: { endpoint: '', exceptions: [] },
     _events: { connection: [Function] } },
Run Code Online (Sandbox Code Playgroud)

哪儿是adapter?哪里有rooms

如何从 的输出中找出适配器和房间io

Ary*_*rya 6

我认为你在加入之前试图获得空间。首先你必须加入房间然后你才能进入房间io.sockets.adapter.rooms你可以查看这个链接来了解房间

\n
\nlet room_id = 111\n\nio.sockets.on("connection", function (socket) {\n    // Everytime a client logs in, display a connected message\n    console.log("Server-Client Connected!");\n    socket.join("_room" + room_id);\n    socket.on(\'connected\', function (data) {\n\n    });\n    console.log(io.sockets.adapter.rooms);\n    socket.on(\'qr_code_scan\', function (room_id) {\n        io.sockets.in("_room" + room_id).emit("qr_code_scan", true);\n    });\n});\n\n
Run Code Online (Sandbox Code Playgroud)\n

的记录io.sockets.adapter.rooms

\n
{bjYiUV5YZy54VedKAAAA: Room, _room111: Room}\napp.js:55\n_room111:Room {sockets: {\xe2\x80\xa6}, length: 1}\nlength:1\nsockets:{-isBAZIB-Sm3jArgAAAB: true}\n-isBAZIB-Sm3jArgAAAB:true\n__proto__:Object\n__proto__:Object\n-isBAZIB-Sm3jArgAAAB:Room {sockets: {\xe2\x80\xa6}, length: 1}\nlength:1\nsockets:{-isBAZIB-Sm3jArgAAAB: true}\n-isBAZIB-Sm3jArgAAAB:true\n__proto__:Object\n__proto__:Object\n__proto__:Object\n
Run Code Online (Sandbox Code Playgroud)\n