调用pcap_findalldevs返回列表为空的解决办法

      在修改一个基于winpcap3.0进行网络通讯的1x客户端的过程中,出现在某些主机上能够正常运行,在另外一些主机上却无法初始化的情况。通过调试发现,无法初始化的原因是调用pcap_findalldevs返回的网卡列表为空。

      于是查看了一下winpcap开发包自带的函数说明,没有找到答案。

      会不会是winpcap3.0本身的BUG呢,随后查看了winpcap官网上面的代码修改日志,终于在Version 3.1 beta2, 3 may 04
的Bugfix下面找到这样一段说明:fixed a shortcoming in pcap_findalldevs(), by which the adapters where not listed if they couldn't fit into a 8kB buffer.意思是pcap_findalldevs()这个函数可能无法发现那些不支持8KB MTU的网卡。看来只能采用最新版本的winpcap开发库了。果然升级了winpcap库之后pcap_findalldevs()就能找到网卡了。

 

你可能感兴趣的:(网络,通讯)