【发布时间】:2022-11-18 14:55:39
【问题描述】:
我有一个使用 libpcap 捕获数据包的库。我在专用线程中使用 pcap_loop() 进行捕获,使用 pcap_breakloop() 停止捕获。
这数据包缓冲区超时设置为 500 毫秒。
在极少数情况下,我会遗漏我的应用程序在调用 pcap_breakloop() 之前发送的最后一个数据包。
阅读 libpcap 文档我最后想知道丢包是否与数据包缓冲区超时.文件说:
数据包不会在到达时立即交付,而是在短暂的延迟(称为“数据包缓冲区超时”)后交付
如果在此延迟期间调用
pcap_breakloop()会发生什么情况?缓冲区中的数据包是传递给回调还是在pcap_loop()返回之前被丢弃?
我无法在文档中找到答案。
【问题讨论】:
标签: libpcap