我试着做跨平台开发,windows 7主机,QNX中微子目标。在尝试跨平台开发之前,我想在我的主机上测试和使用代码,但是在Windows上不支持Pcap。
Pcap和WinPcap之间的语法/函数调用有多相似?我可以使用我为WinPcap编写的代码并让它在Pcap和另一台机器上工作吗?
发布于 2015-07-22 19:02:23
(您可能指的是“”;"pcap“指的是”“,或者指它们都使用的文件格式。)
WinPcap是的一个端口,并且共享了很多libpcap的代码。它包括:
因此,libpcap和WinPcap中的绝大多数调用是相同的,并且libpcap和WinPcap之间的代码共享量与和libpcap相同。
API的区别是:
pcap_open(),也没有远程捕获支持(在未来,将有用于远程捕获支持的通用API,因此可以编写代码在Windows和各种UN*Xes上进行远程捕获);pcap_setbuff(),但是较新的版本允许您在使用pcap_create()和pcap_activate()打开实时捕获时设置捕获缓冲区大小,而且这些例程也在较新的WinPcap版本中;select()/poll()与WaitForMultipleObjects()),而且获得等待处理的API必然是不同的;pcap_fopen_offline() )可能永远不会出现)。因此,为了几乎所有的目的,应该有可能编写基于purposes的代码,这些代码可以在各种UN*Xes (显然还有QNX中微子)和Windows上工作,只要您处理这些平台之间的其他差异。
https://stackoverflow.com/questions/31571328
复制相似问题