2011-07-05 5 views
1

2人のクイズゲームをリアルタイムで作成します。このためには、ユーザーがクイズのページにいるときと離れるときを追跡する必要があります。基本的には、何人かのロビーが必要です。そこでは、選手が集まり、スクリプトでは、ゲームでお互い向き合うべき2人のランダムな選手が選出されます。2人プレイのクイズを再生するためにリアルタイムでオンラインユーザーを追跡する

多くのプレイヤーが非常に短時間でオンラインからオフラインに切り替えるので、私は古典的な 'プレイヤーのステータスをデータベースに更新しないで、所定の間隔でオンラインプレーヤーのリストを取得することをお勧めします。現在、私はComet Pushを使うというアイデアを思いついており、ちょっとPubNubを研究しました。

私はそれを解決するのはかなり簡単だと信じています。古典的な彗星publish()を使って答えを送り、subscribe()を使って他のユーザの状態を調べます。しかし、気になることは、オンラインユーザーでその特定のリストを取得する方法です。

ロビーに行くときにuser_idを公開しようとしましたが、このユーザーがオフラインになったときに他のすべてのユーザーに通知するにはどうすればよいですか?ロビーに接続しているユーザーの総数と氏名を一緒に表示するにはどうすればよいですか?

私が彗星に直面したのは初めてであり、その論理は完全にわかりません。

ありがとうございました!

答えて

1

Pusherと私たち(プッシャーのために働いています)presence functionalityを試してみるとよいでしょう。プレゼンスチャネルを使用すると、部屋/ロビースタイルの機能を簡単に実装でき、条件を満たす必要があります。あなたはあなたが通知され

  • をサブスクライブするときに、ユーザーの初期リストを取得

    • は、チャネルに登録するたびに、ユーザーが加入(入り)と登録解除(葉)チャネル(部屋/ロビー)

    この方法では、この機能を自分で実装する必要はありません。プッシャーが提供するソリューションの一部です。

  • +0

    あなたの提案に感謝しますが、私はむしろ自分で解決策を開発するか、無料のソリューションを使用します。私はこの機能(個人的なプロジェクトです)にお金を費やしたくありません。 – linkyndy

    +1

    @linkyndy - 私は以下のページに、自己ホストセクションを含む、リアルタイム技術の一覧を掲載していますので、うまくいけばそれが使用されます:http://www.leggetter.co.uk/リアルタイム技術ガイドもしプレゼンスが重要であると思われる場合は、XMPPソリューションを検討したいかもしれません。残念ながら私はまだそのページでXMPPをサポートしているソリューションを特定していません。 – leggetter

    +0

    ありがとうございます。私はすでにPubNubに固執するでしょう、私はすでにそれを使う方法についていくつかの研究をしました。 WebSocketはかなり素晴らしいと私は間違いなく広くサポートされるようにそれらを使用します。 – linkyndy

    関連する問題