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