0

さて、状況は次のとおりです。

ゲーム用のサービスを備えたサーバーがあり、サーバーからの特定のコマンドが、次のゲーム ラウンドの開始時刻のタイムスタンプを送信します。接続されているすべてのクライアントでこれを完全に同期させるために、サーバーの現在時刻のタイムスタンプを返す webbservice もあります。

私が知っていること:リクエストが送信されてから回答が受信されるまでの時間。私が知らないこと:クライアント処理またはサーバー処理または帯域幅の問題で、レイテンシがどこにあるのか。

ここで妥当な結果を得るためのベストプラクティスは何ですか。GPS が何らかの方法でこれを解決したに違いないと思いますが、適切なパターンを見つけることができませんでした。

私が今行っていることは、サーバーのタイムスタンプにリクエストのレイテンシーの半分を追加することですが、十分ではありません。これは、送信と受信の間の時間が 11 秒にもなる可能性があるためです。

提案?

4

2 に答える 2

1

RTP を使用した NTPD によって行われる正しい PLL 実装など、マシン間で時刻を同期するための一般的なソリューションが多数あります。これは、マシンのローカル時間を変更できる場合に役立ちます。そうでない場合は、多かれ少なかれ以前と同じことを行う必要がありますが、遅延が不合理な場合は同期ポイントを削除してください。

于 2010-07-04T18:57:42.667 に答える
0

通常、ベスト プラクティスは、絶対時間を同期するのではなく、代わりに相対時間を同期することです。

于 2010-07-07T13:08:40.360 に答える