我正在使用 SharpPcap 将数据包转储到 .pcap 文件。我的问题是,捕获任何数量的网络流量都在减慢速度,最终内存不足。如何加快文件写入过程?
这是我正在使用的代码:
private void WriteToPCAPThread(object o)
{
this.WritePcapThreadDone.Reset();
string captureFileName = (string)o;
CaptureFileWriterDevice captureFileWriter = new CaptureFileWriterDevice(this.device, captureFileName);
captureFileWriter.Open();
RawCapture packet;
bool success;
while (this.capturing)
{
success = this.captures.TryDequeue(out packet);
if (success)
{
captureFileWriter.Write(packet);
}
else
{
// Queue emptied
Thread.Sleep(50);
}
}
}
提前感谢您的任何想法。