我从从离线转储文件中读取文件中的 winpcap 库中遇到了逻辑错误。因为他们在阅读后没有关闭文件。因此,当文件计数达到509时,我收到“无法打开文件”的异常。
我正在使用带有c#的pcap.net库。这是我的代码
OfflinePacketDevice selectedDevice = new OfflinePacketDevice(filename);
PacketCommunicator communicator = selectedDevice.Open(65536,PacketDeviceOpenAttributes.Promiscuous,1000);
communicator.ReceivePackets(0, DispatcherHandler);
communicator.Dispose();
现在我需要将上述语句作为子进程执行,所以我认为我可以通过调用每个pcap文件的子进程来避免该异常。但我不知道如何在c#中执行一个方法作为子进程。任何人都可以给我一个解决方案吗?
答案 0 :(得分:0)
对于所谓的WinPcap库错误,读取转储文件的程序在读取文件的最后一个数据包之后调用pcap_close()
,对吧?如果没有,bug就在程序中,而不是在WinPcap中。即使这样,bug也可能出现在pcap.net中,而不是WinPcap。