24

電話をかけずに、ソケットが現在入っている部屋を取得することは可能ですか?

io.sockets.clients(roomName)

すべての部屋名に対して、結果でこのソケットを探します

4

11 に答える 11

41

socket.io バージョン 1+ では、構文は次のとおりです。

socket.rooms
于 2015-02-13T09:20:17.647 に答える
12

Socket.IO Room docから:

io.sockets.manager.roomClients[socket.id]

于 2013-09-27T11:32:15.683 に答える
4

socket.io-redis などのデフォルト以外のアダプタを使用すると、socket.roomsうまくいかないようです。ループせずに特定のクライアントの部屋を取得する方法io.sockets.adapter.sids[socket.id]は、部屋をオブジェクトとして返す を使用することでした。

{ 'R-ZRgSf7h4wfPatcAAAC': true, ROOM: true, ROOM_2: true }

ただし、これは他のプロセスのソケットをリストしないことに注意してください!

socket.io v1.3.7、socket.io-redis 1.0.0

于 2015-12-19T13:41:08.387 に答える
1

バージョン 2.0.3

io.sockets.sockets[yourSocketID].rooms

と等しい

socket.rooms
于 2017-07-15T11:29:52.467 に答える