1

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

  1. 客户需要在某个地方注册,然后我们需要每个客户的唯一 ID。
  2. 服务器应该只能从另一个客户端向客户端发送一些东西。

对于第一部分,我不知道如何获得这个唯一的 id。可能使用新的流星身份验证套件?

对于第二部分,我考虑构建一个每个客户端的集合,其中一个且只有一个客户端可以访问,但这听起来很沉重,而且我认为这并不是 Meteor 的最佳实践。然后我想在消息中添加“发件人”和“字段”(参见常规聊天示例)。这样做可以,但我想知道他们没有隐私。自定义发布是否会返回过滤后的查找,或者这样做也有风险,即其他客户也会获得这些项目吗?就像是:

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

1 回答 1

1

最新的 Meteor 待办事项示例使用新的身份验证系统来识别私有待办事项条目。我想您可以使用相同的机制在类似聊天的系统中识别私人消息的发起者和接收者。

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

于 2012-09-23T10:53:48.360 回答