実際、私はチャットシステムを実際に構築するよりも、このタスクを達成するために使用する手法に興味があります(これは優れた具体的な例です)。私は2つの部分を見ます:
- クライアントはどこかに登録する必要があり、次にクライアントごとに一意のIDが必要です。
- サーバーは、別のクライアントからのみクライアントに何かを送信できる必要があります。
最初の部分では、この一意のIDを取得する方法がわかりません。おそらく新しい流星認証キットを使用していますか?
第2部では、1人のクライアントだけがアクセスできるクライアントごとのコレクションを構築することを考えましたが、それは重く聞こえ、私の意見ではMeteorのベストプラクティスではありません。次に、メッセージに「from」と「field」を追加することを考えました(通常のチャットの例を参照)。これでうまくいくでしょうが、プライバシーがないのではないかと思っています。フィルタリングされた検索結果を返すカスタム公開はそれを行いますか、それともリスクもありますか?つまり、他のクライアントもアイテムを取得しますか?何かのようなもの:
Meteor.publish("message", function (clientID) {
return Messages.find({"dest":clientID }, {});
});