編集
必要なものがあまり明確ではないことに気付いたので、これを完全に書き直しています。
というわけで、オンラインゲームを実装していきます。アイデアは非常に単純です。すべてのプレーヤーは、サーバーからダウンロードされた同じ一連の質問に答える必要があります。各質問に答えるために、プレイヤーは質問の難易度に応じた一定の時間を持ちます。質問は 1 つずつ表示されます。現在の質問に答える時間が経過すると、次の質問がプレイヤーに提示されます。最後の質問の後、クライアントは現在オンラインのすべてのプレイヤーのスコアを含むリーダーボードを表示する必要があります。リーダーボードは (もちろん) サーバー上で計算され、クライアントはゲームの終了時にダウンロードする必要があります。
わかりました、それがアイデアです。私が必要としているのは、クライアントとサーバー間の通信全体を実装する方法に関するいくつかの提案です。詳細は必要ありませんが、いくつかのアイデアが必要です。最も重要なのは、クライアントとサーバーの時刻同期がどのように機能するかわかりません。すべてのプレイヤーが各質問に答える時間を同じにすることが重要です。非常に単純な解決策もありますが、落とし穴の可能性についてはわかりません。私が念頭に置いているのは、プレーヤーが最初に接続したとき (または新しいゲームが開始されたとき) に、クライアントが現在のゲームの質問のリスト全体をダウンロードすることです。また、現在のゲーム時間を取得するために、いくつかの時間同期メッセージが交換されます。次に、質問と時間同期がクライアントで認識されると、ローカル タイマーが開始され、ゲームは完全にオフラインで実行されます。ゲームが終了すると、各クライアントは独自のスコア/結果をサーバーに送信します。リーダーボードの準備が整うと、サーバーはそれをすべてのクライアントに送り返します。ここでも、ローカル タイマーを使用して、いつ新しいゲームが開始されるかを知り、新しい質問リストをダウンロードできます。
あなたの提案を投稿し、私の解決策にコメントしてください。ありがとう