2013-12-17 1 views
1

pcap.net을 사용하고 있습니다.pcap.net으로 중단 후 캡처 계속

나는 패킷을 수신하는 커뮤니케이터를 가지고있다. 어떤 시점에서 캡처를 중지하려면 Break() 함수를 호출합니다. 내가 캡처를 중지 한 후, 나는 어떤 점에서 캡처를 계속하려면 ..

나는 RecievePackets 다시 (0 HandlePacket를) 사용하여 시도,하지만 내 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