2012-08-17 4 views
2

네트워크상의 모든 장치의 IP 주소를 나열하는 프로그램을 만들려고합니다. 이 장치의 주요 구성 요소 중 하나는 장치를 핑 (ping) 할 수 있다는 것입니다. 이 프로그램은 Linux, Windows 및 Mac에서 작동해야하므로 Boost 라이브러리를 선택했습니다. http://www.boost.org/doc/libs/1_47_0/doc/html/boost_asio/example/icmp/ping.cppC++ Boost.asio Ping

내가 꽤는 OpenGL 3.1 및 쉐이더를 사용하지만이 프로그램을 실행할 때 반복 (454+) ping을 할 때 C++에서 경험하고 그것을 이해 :

나는 문서에서이 예제를 찾기 위해 관리 루프 (날뛰다 의도 없음)에 대한 나를 던지고있다, 그것은 본 적이있는 속기, 기능 등의 상당한 금액을 포함하는 것 같습니다

부스트와 기계를 ping하는 간단한 방법이있다 : asio? 또는이 메서드를 4 회 실행하고 평균 응답 시간을 반환 할 수있는 방법이 있습니까?

답변

3

연결된 예제에서 카운터를 포함하려면 handle_receive 함수를 변경해야합니다. 네 번 호출되었을 때 io_server 개체를 중지하라 (이 경우 전역 화하거나 pinger 클래스에이 개체에 대한 참조를 저장해야 함) start_receive을 호출하지 말아야합니다.

+0

응답 해 주셔서 감사합니다. 프로그램에서 어떤 부분이 다른 응답을 요청하는지 알고 있습니까? 나는 서비스를 죽이고 싶지 않고 다른 기계가 응답을 계속하도록 내버려 둔다. – CoderWalker

+0

@CoderWalker "ping"을 보내는 부분은 무엇입니까? 연결된 예제에서 그것은'start_send'와'handle_timeout'입니다. –