【发布时间】:2014-06-23 07:46:29
【问题描述】:
简介
我正在使用 Sails 构建一个私人消息传递系统,但这个问题几乎适用于任何事情。我将使用消息系统作为示例,以使问题更清楚。作为一些背景信息,我正在使用最新的sails 0.10 RC。
问题
Sails 允许您将 redis 用于会话和 pubsub,这允许您在多个服务器上进行扩展。这一切都非常简洁而且工作出色,但它给我留下了如何将事件发布到特定连接的套接字(客户端)的问题。
有时您希望只向参与者发布活动,例如私人消息系统。只有作者和收件人才能收到线程中的新消息通知。你将如何做到这一点?我知道您可以为客户端订阅特定的模型实例,通知客户端该模型的更改;我也知道可以为客户端订阅模型,通知他们新创建(保存)的模型实例。是后者,create 动词给我带来了一些麻烦。我不希望使用消息传递系统的每个人都在他们不在的线程中接收新消息的更新。这将是一个隐私问题。
TL;DR
如何根据相关模型上的属性值(author 和 recipient)过滤哪些客户端接收到 create 动词事件?有没有其他方法可以确保只有这些客户端接收模型的更新?
【问题讨论】:
-
@ScottGress 我不这么认为。我想要特定用户的创建动词。我想我可以用自己的 emit 来处理这个问题,但我宁愿使用蓝图找到解决方案。
标签: javascript sails.js