0

我的应用程序分为多个应用程序(管理员、客户端、工作人员)。

我将 socket.io 与 RedisStore 一起使用,当管理员登录时,我设置了 socket.io 连接并将套接字连接到名为 user_id 的房间

如何在不为 socket.io 创建服务器来收听的情况下从不同的应用程序(比如说从工作人员)向这个房间广播?

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

我需要直接发布到redis频道吗?如果是这样,我怎么知道它的名字?

4

1 回答 1

0

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

于 2013-01-18T07:51:29.337 回答