Я использую 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);
}
}
}
Заранее спасибо за любые идеи.