Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Winpcap-pcap\u下一个\u ex vs pcap\u循环_C++_C_Handler_Pcap_Winpcap - Fatal编程技术网

C++ Winpcap-pcap\u下一个\u ex vs pcap\u循环

C++ Winpcap-pcap\u下一个\u ex vs pcap\u循环,c++,c,handler,pcap,winpcap,C++,C,Handler,Pcap,Winpcap,我有一个问题,假设我有一个线程可以捕获数据包并自己处理它们 使用pcap\u next\u ex:假设我调用Sleep(200)来模拟内容,我将使用一个循环,并在每次交互中处理数据包。使用pcap\u next\u ex我会在丢失数据包的时候到达 使用pcap\u loop:我会对每个传入的数据包使用一个对数据包处理程序的回调,它会像一个事件一样工作。在数据包处理程序中,我将处理数据包,并假设我调用Sleep(200)来模拟数据包。我会丢失数据包吗?是的 pcap\u next\u ex和pca

我有一个问题,假设我有一个线程可以捕获数据包并自己处理它们

使用
pcap\u next\u ex
:假设我调用
Sleep(200)
来模拟内容,我将使用一个循环,并在每次交互中处理数据包。使用
pcap\u next\u ex
我会在丢失数据包的时候到达

使用
pcap\u loop
:我会对每个传入的数据包使用一个对数据包处理程序的回调,它会像一个事件一样工作。在数据包处理程序中,我将处理数据包,并假设我调用
Sleep(200)
来模拟数据包。我会丢失数据包吗?

是的

pcap\u next\u ex
pcap\u loop
调用从环形缓冲区读取数据包的相同内部函数。区别仅仅在于前者返回数据包,而后者使用数据包调用回调

pcap\u循环
调用与调用
pcap\u循环
的线程相同的回调,并等待回调完成其任务,然后读取下一个数据包。
因此,如果回调需要很长时间,则
pcap\u循环
无法足够频繁地读取数据包,从而导致丢失数据包的可能性更大。

我希望您能看到我的一段代码,该代码会在使用winpcap对代理本地服务器进行NAT时产生问题。我是新来的我想给你一个下午。好的。我的联系人是kaitoy@pcap4j.orgThank如果是您的联系人,我会在有时间创建问题后尽快给您写信,也许我会在stackoverflow中发布,我会通知您:)