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

时间:2011-12-14 15:17:26

标签: node.js socket.io

我有一个nodejs + socket.io解决方案和套接字加入不同的房间。如何从不同的房间选择套接字向他们广播某个消息,而不使用for循环来阻止所有用户的应用程序?

1 个答案:

答案 0 :(得分:3)

解决方案很简单,让每个“特殊”用户(您要分组的用户)使用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 /会话阻止对不允许的用户访问该频道。

在此处阅读更多内容:http://www.danielbaulig.de/socket-ioexpress/