Không gian tên cho phép bạn tạo các đối tượng có cùng tên, nhưng chúng sẽ tách biệt vì chúng sẽ sống trong các không gian tên khác nhau, còn được gọi là phạm vi.
Đây là quá trình suy nghĩ giống như bạn nên có với các không gian tên của Socket.IO. Nếu bạn đang xây dựng một ứng dụng web Node mô-đun, bạn sẽ muốn không gian tên ra các mô-đun khác nhau. Nếu bạn nhìn lại mã không gian tên của chúng tôi, bạn sẽ thấy rằng chúng tôi có thể lắng nghe cùng một sự kiện chính xác trong các không gian tên khác nhau. Trong Socket.IO, sự kiện kết nối trên kết nối mặc định và sự kiện kết nối trên không gian tên / xxx là khác nhau. Ví dụ: nếu bạn có một hệ thống trò chuyện và nhận xét trên trang web của mình và muốn cả hai là thời gian thực, bạn có thể đặt tên cho từng trang. Điều này cho phép bạn xây dựng toàn bộ ứng dụng Socket.IO chỉ sống trong bối cảnh của chính nó.
Điều này cũng đúng nếu bạn đang xây dựng một cái gì đó để được đóng gói và cài đặt. Bạn không thể biết nếu ai đó đã sử dụng một số sự kiện nhất định trong không gian tên mặc định, vì vậy bạn nên tạo riêng của mình và lắng nghe ở đó. Điều này cho phép bạn không giẫm lên chân của bất kỳ nhà phát triển nào sử dụng gói của bạn.
Không gian tên cho phép chúng tôi khắc kết nối vào các bối cảnh khác nhau. Chúng tôi có thể so sánh điều này với các phòng, cho phép chúng tôi nhóm các kết nối lại với nhau. Chúng tôi cũng có thể có cùng kết nối với các phòng khác.
Không gian tên cho phép bạn tạo các bối cảnh khác nhau để Socket.IO hoạt động. Các phòng cho phép bạn nhóm các kết nối máy khách bên trong các bối cảnh đó.