3

問題の概要: AF_UNIX 安定した送信、バースト受信。

UNIX ドメイン データグラム ソケット経由でデータを受信するアプリケーション B があります。それにデータを送信するピア アプリケーション A があります。A と B の両方が継続的に実行されています (SCHED_FIFO です)。私のアプリケーションAも受信時刻を出力します。

ピア アプリケーション B は、さまざまなタイミングでデータを送信できます (ミリ秒単位でのみ変化します)。理想的には (私が期待すること)、パケットの送信遅延は受信遅延と正確に一致する必要があります。例えば:

A sends in time            :  5ms     10ms      15ms     21ms   30ms   36ms
B should receive in time   :  5+x ms  10+x ms   15+x ms  21+x ms ... 

ここで、x は一定の遅延です。

しかし、私がBで観察したことを実験したとき:

A sends in time            :  5ms     10ms      15ms     21ms   30ms   36ms
B received in time         :  5+w ms  10+x ms   15+y ms  21+z ms ... 

(w、x、y、z は異なる一定の遅延です)。そのため、送信時刻が指定されている場合、受信時刻を予測することはできません)。

UNIXドメインソケットにバッファリングが関係しているためですか?受信時間が送信時間から予測できるように、問題の回避策を提案してください。1ミリ秒の精度が必要です。

(バニラ Linux 3.0 カーネルを使用しています)

4

1 に答える 1