1
是-1 pcap的有效讀取超時?pcap的零讀取超時
有人告訴我,在pcap_open_live(char *device, int snaplen, int promisc, int to_ms, char *errbuf);
中將to_ms設置爲-1會導致它在檢測到數據包時立即返回 - 實際上是零超時。很有意義的是,有一些方法可以設置零超時,但爲什麼不使-1爲無限且0爲0?這會更合乎邏輯。另外,我還無法確認pcap上-1的to_ms值有什麼影響。
那麼,-1是一個有效的超時值?如果是這樣,它有什麼影響?如果沒有,有沒有辦法將檢測超時設置爲零?
你誤會了。在這種情況下,讀取超時適用於需要讀取數據包的地方 - 從手冊頁引用,「讀取超時用於安排在看到數據包時讀取不一定立即返回,而是等待一定數量的時間來允許更多的數據包到達並且在一次操作中從OS內核讀取多個數據包。因此讀取超時會在檢測到數據包後延遲返回。 – Benubird 2010-11-25 10:19:57