2013-01-17 15 views
0

我的应用程序是分开的mutltiple应用程序(管理员,客户端,工人)。socket.io和RedisStore:如何在不创建服务器的情况下向房间广播?

我使用socket.io与RedisStore, 当我的管理日志设置socket.io连接并加入插座一个名为USER_ID

我怎么能到这个房间从不同的广播室应用程序(让我们从工作人员说)没有创建一个服务器socket.io听?

io.set(设置RedisStore)为var io = require('socket.io').listen(server)

定义,我需要直接发布到Redis的通道?如果是这样,我怎么知道它的名字?

回答

0

让多个节点实例通过消息进行通信的一种方法是使用消息代理(消息队列服务)。每个Node实例绑定到MQ中的特定通道,例如“general_chat”或“maintenance”。所有的实例都会收到这些消息。您可以使用点语法“chat.room1”和“chat.admin”添加多个绑定级别。查看ActiveMQ,RabbitMQ,SQS和其他类似的服务,其中一些是开源的。

+0

当前我在端口0上为工作进程创建了一个socket.io服务器,它将消息发送到user_id通道,并且它对RedisStore工作得很好。我不知道是否可以这样做,而没有实际上在没有暴露给web的进程上监听socket.io连接。 –

相关问题