pcapの有効な読み取りタイムアウトは-1ですか?pcapの読み出しタイムアウトがゼロになる
pcap_open_live(char *device, int snaplen, int promisc, int to_ms, char *errbuf);
のto_msを-1に設定すると、パケットが検出されたときに即座に戻り、実際にはゼロタイムアウトになることが伝えられました。タイムアウトをゼロに設定する方法がいくつかあるが、-1を無限に、0を0にするのはどうしてですか?それはより論理的です。また、-1のto_ms値がpcapに及ぼす影響を確認する方法はありませんでした。
有効なタイムアウト値は-1ですか?もしそうなら、どのような効果がありますか?そうでない場合は、検出タイムアウトをゼロに設定する方法はありますか?
あなたは誤解しています。この場合の読み込みタイムアウトは、読み込まれるべきパケットがある場合に適用されます。 - マニュアルページから引用するために '読み込みタイムアウトは、パケットが見えるときに読み込みが必ずしも返されないようにするために使用されますが、より多くのパケットが到着し、OSカーネルから複数のパケットを一度に読み取ることができるようになる。したがって、読み取りタイムアウトは、パケットを検出した後にそれが返るのを遅らせる原因となります。 – Benubird
コードを見ると、私は@unwindに同意します。 – jrwren