Book Image

Building Scalable Apps with Redis and Node.js

By : Joshua Johanan
Book Image

Building Scalable Apps with Redis and Node.js

By: Joshua Johanan

Overview of this book

Table of Contents (17 chapters)
Building Scalable Apps with Redis and Node.js
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Using namespaces and rooms together


We can now discuss the fact that namespaces and rooms are not mutually exclusive. You can use them at the same time. Now that we have discussed how they work, this will make sense. Namespaces allow you to create different contexts for Socket.IO to work in. Rooms allow you to group client connections inside of those contexts.

Namespaces are farther up in the hierarchy so that you can use them together if they come first. As an example, let's say that we built our Ping-Pong app with a namespace of pingpong with two rooms, '' (empty string) and 'vip'. A lot of code can stay exactly the same because the socket object inside of a connection event is already tied to the namespace. If you were outside of the namespace, though, you still could get a list of clients in a room.

We don't have to view these as an exclusive option. We should view them as options. Most likely, you will need both in any moderately complex project.