說有兩種方案的計算機上運行(爲了簡化起見,運行在Linux上的唯一用戶程序),它的一個調用的recv(),並且其中一個是使用PCAP以檢測傳入的數據包。一個數據包到達,它被程序使用pcap和程序使用recv檢測到。但是,是否有任何情況(例如recv()在對pcap_next())的調用之間返回,其中兩個中的哪一個不會獲取數據包?recv是否從pcaps緩衝區中移除數據包?
我真的不明白的緩衝系統是如何工作的在這裏,所以更詳細的解釋越好 - 有沒有在這些計劃的人會看到一個包,其他沒有任何可能的情況下?如果是這樣,那是什麼,我該如何預防它?