JavaScript >> Javascript チュートリアル >  >> Node.js

nodejsのioのio.sockets.adapter.roomsはどこ?

https://stackoverflow.com/a/6727354/462608

簡単な答え:
io.sockets.adapter.rooms

ioを分析しました:

その回答に示されているように、io からのソケット出力部分には以下が含まれます:

sockets: 
   { manager: [Circular],
     name: '',
     sockets: { '210837319844898486': [Object] },
     auth: false,
     flags: { endpoint: '', exceptions: [] },
     _events: { connection: [Function] } },

adapter はどこですか ? rooms はどこですか ?

io の出力からアダプタと部屋を見つける方法は何ですか? ?

答え

参加する前に部屋を確保しようとしていると思います。最初にルームに参加する必要があり、io.sockets.adapter.rooms でルームを取得できます このリンクをチェックアウトして部屋を知ることができます

let room_id = 111

io.sockets.on("connection", function (socket) {
    // Everytime a client logs in, display a connected message
    console.log("Server-Client Connected!");
    socket.join("_room" + room_id);
    socket.on('connected', function (data) {

    });
    console.log(io.sockets.adapter.rooms);
    socket.on('qr_code_scan', function (room_id) {
        io.sockets.in("_room" + room_id).emit("qr_code_scan", true);
    });
});

io.sockets.adapter.rooms のログ

{bjYiUV5YZy54VedKAAAA: Room, _room111: Room}
app.js:55
_room111:Room {sockets: {…}, length: 1}
length:1
sockets:{-isBAZIB-Sm3jArgAAAB: true}
-isBAZIB-Sm3jArgAAAB:true
__proto__:Object
__proto__:Object
-isBAZIB-Sm3jArgAAAB:Room {sockets: {…}, length: 1}
length:1
sockets:{-isBAZIB-Sm3jArgAAAB: true}
-isBAZIB-Sm3jArgAAAB:true
__proto__:Object
__proto__:Object
__proto__:Object

  1. Angular 14 ビデオ プレーヤーと NGX Videogular の例

  2. divの正確な高さを持つHTML CSS垂直線

  3. JavaScript と JSON 配列