使用socket.io redisstore适配器/存储(?),是否可以“看到”所有客户端并“选择”即使是未直接连接到socket.io服务器的客户端?或者仅限于socket.io的“房间”功能?
举一个实际的例子,同一聊天室中的两个用户连接到两个不同的socket.io节点,redisstore适配器/存储是否可以从一个用户耳语到另一个用户,而无需对代码进行大的更改你已经有一个有效的单一流程/服务器实现了吗?
我问的原因是我目前还没有处于项目开发阶段过度关注扩展(我也没有时间深入研究node.js缩放背后的概念,这看起来与我习惯了(现在第一个完全成熟的node.js项目)),但是我不想构建一个无法扩展的基础设施。
答案 0 :(得分:1)
Redis商店(/lib/stores/redis.js)仅适用于redis pub-sub,用于服务器之间的消息传播。因此,如果您想获得已连接用户的列表 - 您必须自己完成。
但是如果你想在两个用户之间传递消息 - 我认为这对标准的socket.io + redis库来说不会有问题,因为redis pub-sub对于在服务器\进程之间传递消息非常有用。