Meteor:如何在聊天室中实现私人消息?

时间:2012-09-22 22:57:06

标签: chat meteor privacy

实际上,我对用于实现此任务的技术更感兴趣,而不是真正构建聊天系统(这是一个很好的具体示例)。我看到两部分:

  1. 客户需要在某处注册,然后我们需要为每个客户提供一个唯一的ID。
  2. 服务器应该只能从其他客户端向客户端发送内容。
  3. 对于第一部分,我不知道如何获得这个唯一的ID。可能使用新的meteor auth套件?

    对于第二部分,我考虑构建一个每个客户端的集合,其中只有一个客户端可以访问,但它听起来很重,在我看来并不是真正的Meteor最佳实践。然后我考虑在消息中添加“from”和“field”(参见常规chat example)。这样做可以,但我想知道他们没有隐私。自定义发布会返回已过滤的查找吗?或者它也有风险,即其他客户端也会获得这些项目吗?类似的东西:

    Meteor.publish("message", function (clientID) {
      return Messages.find({"dest":clientID }, {});
    });
    

1 个答案:

答案 0 :(得分:1)

最新的Meteor todos示例使用新的auth系统来识别私人待办事项。我想你可以使用相同的机制来识别聊天系统中私人消息的发起者和接收者。

当然,过滤某人看到的消息需要在服务器端进行过滤以保持隐私。