1
私は元のpingプログラムコード(http://www.ping127001.com/pingpage/ping.text)を読んで、どうしたのか分かりました。ICMP ECHOのデータ長が元のpingソースコードのtimevalのサイズと比較されるのはなぜですか?
は、私はそれのほとんどを得るが、私は理解していないことを1つの条件があります:datalen
はエコーペイロードの長さである
if (datalen >= sizeof(struct timeval)) /* can we time 'em? */
timing = 1;
。
他のC ping実装でも同様の述語が見られました。 timeval構造体のサイズよりも小さいデータ長がタイミングを禁止するのはなぜですか?
編集:必然的な深夜遅れの瞬間。
:-)それを挿入しようとして良いアイデアではないでしょう、私はそれを逃した必要があります、ありがとうございます。何らかの理由でタイミング・パートがICMPの一部であると思っていたのですが、それがすでにあったとしても、pingプログラム自体は冗長になります:) –