2012-03-11 2 views
2

Android用のアプリケーションを作成しているので、1人のユーザーからゲームをプレイしているユーザーのグループにジオロケーションポイントを送信できますメッセージの送信を開始する場所を実際にはわかりません。1人のユーザーからゲーム内の多くのユーザーにアプリケーションメッセージングサービスを設計する方法

私は1人のユーザーからサーバーにメッセージを送信し、その後サーバーが他のユーザーにメッセージをプッシュするというアイデアを持っていましたが、どのユーザーに送信するかをサーバーに知らせる方法はわかりませんへのメッセージ。

私は適切なトラックにいますか?この種の問題に取り組んでいるサービスは既に用意されていますか?他に提案はありますか?あなたのコメントは高く評価されます。

答えて

0

共有コンテキストを作成するだけで済みます。トピックをサーバー上の各ユーザーグループに適用します。送信者はトピックに公開します。リスナーはトピックに登録されています。サーバーがメッセージを受信するのは簡単なことです。トピックへのマッピング。そのトピックの加入者にメッセージを送信することを含む。

主な設計上の問題は、静的または動的トピックが必要かどうかを判断することです。言い換えれば、静的なトピックでは、サーバーはトピックの(静的な)リストを与えられます(例えば、設定ファイルを介して)。動的バリアントでは、動的グループ形成の仕組みを提供する必要があります。

第2の問題はトピックの耐久性です。グループのユーザが(ネットの)ドロップアウトしてから接続を再確立し、切断されたときに見逃したメッセージを取得できますか?

p.s. JMSからAMPQ、Java用のPubSubHubまで、様々なメッセージングフレームワークがありますので、おそらく既存のコードを強く活用することができます。しかし、実際には、REST呼び出しを介してサーバーにメッセージをプッシュするだけの簡単なことができます。レシーバは、(アナログRESTコールを介して)サーバをポーリングするか、サーバがプッシュするための接続を維持する必要があります。 (後者は、多くのユーザーが期待するなら、おそらくあまり良い考えではないでしょう)

[最終編集:あなた自身でロールするつもりならば、私は強くレディスを見てみることを強く勧めます。そのような方法で簡単にプロトタイプを作成するのは簡単です。]

+0

また、常にP2Pもあります。 – alphazero

関連する問題