C++ Boost.asio Ping

C++ Boost.asio Ping

本文关键字:Ping asio Boost C++      更新时间:2023-10-16

我正在尝试制作一个程序,列出网络上设备的所有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++方面相当有经验,但当我运行这个程序时,它会一遍又一遍地发出ping(454+),并理解它会让我陷入循环(并非双关语),它似乎包含了大量的简写、我从未见过的函数等。

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

在链接的示例中,您必须更改handle_receive函数以包含计数器。当它被调用四次时,您会告诉io_server对象停止(为此,您必须将其设置为全局对象,或者在pinger类中存储对它的引用),而不调用start_receive