5

ゴール:

N 個のデバイスが与えられた場合、正確に 10 秒かかるアクションを開始させ、最終的にこれらのデータを収集したいと考えています。問題は、N 個のデバイスすべてが同じミリ秒でこの手順を開始する必要があることです。

アドバンテージ:

データが収集されるため、デバイス間のミリ秒単位の違いについてさらに検出を実行できます。ただし、このアプローチには、サーバー側でそのような動作を検出するための別のメカニズムも必要です。

問題:

N 台のデバイス間で「開始」時刻を同期するには、どのようなメカニズムが必要ですか? デバイスとサーバーの時計の違いを検出できますか (同期時間と同じ結果が得られるため)?

4

1 に答える 1

1

はい。

メッセージがすべてのデバイスで1秒以内に受信されると仮定します。

サーバーはN個のデバイスにメッセージを送信します。このメッセージには、サーバーのタイムスタンプと、プロセスを開始する時間(将来)(2000ミリ秒など)が含まれます。

各デバイスは、サーバーのタイムスタンプを独自のタイムスタンプでチェックし、差を計算します。次に、タイマーを開始して、将来の正確な瞬間にプロセスを開始します。

このようにして(理論的には)、デバイスはまったく同時にプロセスを開始します。理論的には、これは、アプリに干渉するためにプロセスとメモリをすでに消費しているiOSデバイスで実行されている他のアプリがない場合に機能するためです。

于 2013-03-10T20:02:32.293 に答える