2013-12-17 57 views
1

我正在使用pcap.net。在pcap.net中斷後繼續捕獲

我有一個接收數據包的通信器。 在某些時候,我會調用Break()函數來停止捕獲。 後,我停止了拍攝,我想繼續在某一時刻捕捉..

我嘗試使用RecievePackets(HandlePacket,0)再次,但我的GUI凍結.. 我的代碼:

private void StartCapture() 
{ 
    _Communicator.RecievePackets(HandlePacket, 0); 
} 

private void StopCapture() 
{ 
    _Communicator.Break(); 
} 

任何幫助? 謝謝

回答

0

我沒有看到你的GUI的代碼,但ReceivePackets()是一個阻塞調用,並將保持你的線程。

如果你在GUI線程中這樣做,它會凍結你的GUI。你應該用不同的線程來完成。

+0

我不是從我的GUI線程執行此操作。我第一次開始捕捉它的作品。然後我打破捕獲。並在此之後。我再次嘗試_Communicator.RecievePackets(HandlePacket,0),它凍結了GUI和一切。所有這些都不是從GUI線程完成的..任何幫助? –

+0

我建議用不同的無限循環替換對ReceivePackets()的調用。這將允許您調試此功能,而不考慮Pcap.Net功能。 – brickner