2013-05-27 3 views
1

JPCAP을 통해 특정 유형의 패킷 (ICMP 에코 요청)을 어떻게 기다릴 수 있습니까? 내가 도착하는 패킷을 수신하려면 다음 코드를 사용합니다 m_pcap.capture가 (-1)를 사용하기 때문에JPCAP에서 ICMP 에코 요청 메시지를 기다립니다.

PacketCapture m_pcap = new PacketCapture(); 
m_pcap.open("\\Device\\NPF_{007262BD-....-7EE83D72EBEA}", true); 
m_pcap.setFilter("proto ICMP", true); 
m_pcap.addPacketListener(new PacketHandler());//PacketHandler just displays the packet contents 
m_pcap.capture(-1); 

이제 캡처 영원히 차단합니다. 내가 원하는 것은 ICMP 에코 요청 메시지가 특정 IP 주소에서 수신 될 때까지 대기해야하고 차단이 끝나야한다는 것입니다.

답변

1

그래서 문제의 해결책을 찾았습니다. 난 그냥 m_pcap.endCapture() 호출 할 수 있습니다; 메서드를 사용하여 차단을 종료합니다.