【发布时间】:2016-06-23 16:52:51
【问题描述】:
我正在使用 WebSockets 构建一个复杂的聊天应用程序。我使用 Node.JS 的 Socket.IO 库来实现协议。我应该为每个聊天创建单独的命名空间,还是为每个聊天创建单独的房间?
Socket.IO 中的命名空间和房间的主要区别是什么?
【问题讨论】:
标签: node.js sockets websocket socket.io
我正在使用 WebSockets 构建一个复杂的聊天应用程序。我使用 Node.JS 的 Socket.IO 库来实现协议。我应该为每个聊天创建单独的命名空间,还是为每个聊天创建单独的房间?
Socket.IO 中的命名空间和房间的主要区别是什么?
【问题讨论】:
标签: node.js sockets websocket socket.io
如果所有客户端都属于同一类型,通常会使用房间。
如果有不同类型的客户端,请使用命名空间。例如,匿名用户和经过身份验证的用户。在这种情况下,可能需要以不同的方式处理传入的连接请求。
var guest = io.of('/guest');
guest.on('connection', function(socket) {
console.log('A guest client connected');
});
var user = io.of('/user');
user.on('connection', function(socket) {
var authenticated = authenticate(); //authenticate the user
if (!authenticated) {
// log attempt and disconnect the client
}
});
【讨论】: