ローカル ネットワークでメッセージを送受信するための CFNetwork フレームワークを実装します (すべてのデバイスが同じネットワークに接続されています)。私はこの機能を正常に実装しましたが、私の問題は、その時点で 8 から 10 のようなデバイスをさらに接続すると、メッセージが遅延し、受信側でその遅延時間を取得したいということです。私はたくさん試しましたが、遅延時間を得ることはできませんでした。誰かがこれを取得する方法を知っている場合は、私を助けてください。
前もって感謝します。
ローカル ネットワークでメッセージを送受信するための CFNetwork フレームワークを実装します (すべてのデバイスが同じネットワークに接続されています)。私はこの機能を正常に実装しましたが、私の問題は、その時点で 8 から 10 のようなデバイスをさらに接続すると、メッセージが遅延し、受信側でその遅延時間を取得したいということです。私はたくさん試しましたが、遅延時間を得ることはできませんでした。誰かがこれを取得する方法を知っている場合は、私を助けてください。
前もって感謝します。
まず、BSD ライセンスの ntpd 実装を取得し、それを使用してさまざまなデバイス間のクロック オフセットを計算します。それらの時間のいずれかを「真実」であると任意に宣言します。
このスキームを使用すると、送信側デバイスはタイム スタンプ (「真実」に対するローカル クロック オフセットに合わせて調整) を送信パケットに追加でき、受信側デバイスは相手側のタイム スタンプと現在の時刻を比較できます (再びローカル クロック オフセットに合わせて調整されます)。
私の知る限り、正確で簡単な方法はありません。通常、遅延は問題ではありません。問題が発生した場合、実際の精度で遅延を把握するには多くの作業が必要です。