5

使用 socket.io redisstore 适配器/存储(?),是否可以“查看”所有客户端并“选择”即使是未直接连接到 socket.io 服务器的客户端?还是仅限于 socket.io 的“房间”功能?

举一个实际的例子,同一个聊天室中的两个用户连接到两个不同的 socket.io 节点,如果你已经有,redisstore 适配器/存储是否可以在不对代码进行巨大更改的情况下从一个用户耳语到另一个用户一个工作的单一进程/服务器实现?

我问的原因是我目前还没有在我的项目的开发阶段过度关注缩放(我也没有时间深入研究 node.js 缩放背后的概念,这看起来与我完全不同曾经(现在是第一个成熟的 node.js 项目)),我不想构建一个无法扩展的基础设施。

4

1 回答 1

1

Redis 存储 (/lib/stores/redis.js) 仅与 redis pub-sub 一起用于服务器之间的消息传播。因此,如果您想获取已连接用户的列表 - 您必须自己完成。

但是如果你想在两个用户之间传递消息——我认为标准 socket.io+redis 库不会有问题,因为 redis pub-sub 对于在服务器\进程之间传递消息非常有用。

于 2013-12-06T03:04:31.410 回答