If you are using some db o nosql you can save it for distributed environments.
Socket io rooms list.
The mechanics of joining rooms are handled by the adapter that has been configured see server adapter above defaulting to socket io adapter.
I know i could keep my own list using an array but don t think this is an optimal solution for 2 reasons.
Each socket in socket io is identified by a random unguessable unique identifier socket id for your convenience each socket automatically joins a room identified by its own id.
Additonally if rooms list is temporary you can clean it whit controlled event after disconnecting.
However it would be great to know about all the rooms without an ex.
Socket io already keeps a copy of this list.
I m trying to get a list of all the sockets clients that are currently connected.
For your convenience each socket automatically joins a room identified by its id see socket id.
After progress on the question how to create socket io multicast groups i found making rooms a great way to do what i needed.
During development socket io serves the client automatically for us as we ll see so for now we only have to install one module.
These channels are called rooms.
A server that integrates with or mounts on the node js http server socket io.
Without using namespace the following 3 parameters can all get sockets in a specific room.
In disconnect event you can query this object to know the rooms you have to leave.
Io sockets does not return an array unfortunately.
A client library that loads on the browser side socket io client.
Here s a snippet of my code.
To leave a channel you call leave in the same fashion as join both methods are asynchronous and accept a callback argument.
I m just getting strings of socket id s and not their names.
Rooms are used to further separate concerns.
One thing to keep in mind while using rooms is.
Were either incorrect or incomplete if you use 2 0.
In 2 0 io sockets manager and io sockets clients don t exist anymore.
All the answers above and the one here socket io get rooms which socket is currently in or here socket io how do i get a list of connected sockets clients.
Within each namespace you can also define arbitrary channels that sockets can join and leave.
I m not sure where i m going wrong.
In that case every socket in the room excluding the sender will get the event.
Where you can save socket id or other identifier with rooms.