Node.js Nodejs和socket.io选择要广播的套接字

Node.js Nodejs和socket.io选择要广播的套接字,node.js,socket.io,Node.js,Socket.io,我有一个nodejs+socket.io解决方案,套接字连接不同的房间。我如何从不同的房间中选择套接字向他们广播特定的消息,而不使用会为所有用户暂停应用程序的for循环?解决方案很简单,让每个“特殊”用户(您要分组的用户)在服务器端代码中使用Socket.IO连接到一个秘密通道: var io = require('socket.io').listen(80); io.sockets.on('connection', function (socket) { if (condition_to

我有一个nodejs+socket.io解决方案,套接字连接不同的房间。我如何从不同的房间中选择套接字向他们广播特定的消息,而不使用会为所有用户暂停应用程序的for循环?

解决方案很简单,让每个“特殊”用户(您要分组的用户)在服务器端代码中使用Socket.IO连接到一个秘密通道:

var io = require('socket.io').listen(80);

io.sockets.on('connection', function (socket) {
  if (condition_to_determine_is_user_has_access) {
    socket.join('specials');
    socket.broadcast.to('specials').emit("new special user has joined");
  }
});
您可能还希望根据cookie/会话阻止不允许的用户访问该频道

请在此处阅读更多信息: