電話をかけずに、ソケットが現在入っている部屋を取得することは可能ですか?
io.sockets.clients(roomName)
すべての部屋名に対して、結果でこのソケットを探します
socket.io バージョン 1+ では、構文は次のとおりです。
socket.rooms
io.sockets.manager.roomClients[socket.id]
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
バージョン 2.0.3
io.sockets.sockets[yourSocketID].rooms
と等しい
socket.rooms