マルチプレイヤーのサポートを必要とする Windows Phone ゲームがあります。マルチプレイヤーは Wordament のものと似ています。全員が同じゲームをプレイします。クライアントは最初にゲームを取得し、各プレイヤーは他のプレイヤーとの対話なしで自分でゲームをプレイし、ゲームが終了すると、全員からの結果が収集されて表示されます。違いは、私のアプリケーションでは、指定された時間が経過してもゲームは終了せず、クライアントの 1 つが通知したときに終了することです。したがって、誰かがゲームを完了する (目標に到達する) と、他のすべての人に誰かが勝ったことを通知する必要があります。
私の最初の考えは、ゲームの状態が変更されたかどうかを確認するために、5 秒ごとにサーバーをプールすることでした。クライアントがゲームを完了すると、その情報を含むリクエストが送信され、他のすべてのクライアントは次のプール リクエストで新しいステータスを取得します。これ (IMO) は、ゲームが終了したかどうかを知らせる 1 バイトのデータだけが必要なため、最も単純で便利なソリューションです。
リアルタイム (ミリ秒単位の精度など) は重要ではありません。前の段落でお気づきかもしれませんが、5 秒の遅延は許容されます。
ただし、専門家の皆さん、このシナリオにはデュプレックス チャネルの方が適切かどうかお尋ねします。双方向チャネルを提供する Pusher のようなソリューションを見つけましたが、そのようなソリューションは非常に複雑で費用がかかるように思えます (予算が非常に限られています)。