C ++ Boost.asio Ping

时间:2012-08-17 01:40:08

标签: c++ networking boost boost-asio ping

我正在尝试制作一个程序,列出网络上设备的所有IP地址。 其中一个主要组件是能够ping设备。 该程序必须适用于Linux,Windows和Mac,因此我选择了Boost库。

我设法在文档中找到了这个例子: http://www.boost.org/doc/libs/1_47_0/doc/html/boost_asio/example/icmp/ping.cpp

我在使用OpenGL 3.1和Shaders时对C ++很有经验,但是当我运行这个程序时,它一遍又一遍地(454+)并且理解它正在抛出一个循环(没有双关语),它似乎包含一个大量的速记,我从未见过的功能等。

是否有更简单的方法使用Boost ping一台机器:asio? 或者有没有办法让这个方法只运行4次并返回平均响应时间?

1 个答案:

答案 0 :(得分:3)

在链接示例中,您必须更改handle_receive功能以包含计数器。当它被调用四次时,你告诉io_server对象停止(为此你必须使它成为全局,或者在pinger类中存储对它的引用)而不是调用{{1 }}