In addition to namespaces, we can also use rooms in Socket.IO to ensure that our messages are only being delivered to the correct sockets.
Although each socket can only have a single namespace, these sockets can belong to multiple rooms. You can think of rooms as channels that a socket subscribes to in order to receive specific types of messages.
As rooms can only be joined if we know the name of the room, it creates a sort of sudo-security. But it is a bit of a hack because if someone ...