首先介绍一下WinPcap

WinPcap是Windows下一个网络库,性能极其强悍而且能够接收各种包。

大名鼎鼎的WireShark就是基于这个库开发的。

 

那么这个库性能到底有多高呢。

我测试了UDP包的接收,每包1400字节大小,WinPcap可以轻松接下4w包每秒(也就是将近430M带宽,更高的我没测试过),Qt的QUdpSocket只能收到1.2w个,ASIO也只能收到2.5w个。

 

我提取了WinPcap的UDP接收功能,简单的封装了一下。

 

注:使用时请选择网卡,默认是第一个(index为0)的网卡。

注2:使用前要安装库,库的安装exe已经放在了工程里面。