向一组连接的客户端发送消息的实用方法

时间:2012-03-22 09:11:52

标签: socket.io

我现在正在使用房间,但我认为我使用它们的方式并不实用。这是我代码的一部分。

// Add clients that are to be notified to the users room.
for(var c in clients)
{
    if(_.indexOf(data.notify, clients[c].id) != -1)
    {
        clients[c].socket.join(data.user_id);
    }
}

// Emit to all that are now in the room.
io.sockets.in(data.user_id).emit('notification', data);

// Remove everyone from this users room so it's free for the next notification.
for(var c in clients)
{
    if(clients[c].id in data.notify)
    {
        clients[c].socket.leave(data.user_id);
    }
}

因此,您可以看到我将正确的客户端添加到房间,该房间是已更新内容的用户的ID。然后,当我向组发出通知后,我再次从房间中删除所有客户端以保持其免费。

有没有更好的方法来解决这个问题?

0 个答案:

没有答案