Read 19 Socket.io Namespaces and Rooms - 401-advanced-javascript-hanna-alemu/seattle-javascript-401d31 GitHub Wiki

What is a namespace in Socket-io?

Name-spaces are like endpoints or routes. We can think of them like channels in Slack. They help us separate concerns within applications by introducing a separation between communication channels.

What are rooms?

Rooms are like sublets of namespaces.Within each namespace, you can also define arbitrary channels that sockets can join and leave.

Joining and leaving

Join, as the name implies lets us subscribe to a channel, leave does the opposite.

socket.io-redis and socket.io-emitter

These help us send messages from anywhere outside the channel.