Repost from so but i need answers so here.
Socket io rooms not working.
One thing to keep in mind while using rooms is that they can only.
In server code socket rooms is not an array that is a object.
Additonally if rooms list is temporary you can clean it whit controlled event after disconnecting.
Report a bug request a feature current behaviour after updating my socket io from 1 x to 2 1 1 my sockets are not joining any rooms anymore.
After calling socket join and then listing the rooms the socket is in the socket is only connected to the room defined by it s id it s own room.
In disconnect event you can query this object to know the rooms you have to leave.
But first let s detail what the socket io library is not.
These channels are called rooms.
So my socket join calls are doing nothing.
Rooms also share the same socket connection like namespaces.
Steps to reproduce if the current behaviour is a bug async socketjoinroom socket.
Although socket io indeed uses websocket as a transport when possible it adds additional metadata to each packet.
Please use the classic socket emit instead.
Within each namespace you can also define arbitrary channels that sockets can join and leave.
What socket io is not.
Rooms are used to further separate concerns.
Socket to socket id emit will not work as it will send to everyone in the room named socket id but the sender.
Where you can save socket id or other identifier with rooms.
In that case every socket in the room excluding the sender will get the event.
Socket io provides additional features over a plain websocket object which are listed below.
I have also tried reconfiguring my server to match the suggestions made by raghavgarg1257 and it still did not work either.
I will get rooms with socket adapter rooms it s different to api doc.
Socket io is not a websocket implementation.
Once again let me know if there s anything else you d like me to test or try and reproduce the issue.
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.
To add to this i have downgraded versions of socket io back to 1 5 0 and still getting the same issue.