C++ Boost.asio Ping
C++ 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++方面相当有经验,但当我运行这个程序时,它会一遍又一遍地发出ping(454+),并理解它会让我陷入循环(并非双关语),它似乎包含了大量的简写、我从未见过的函数等。
有没有一种更简单的方法可以用Boost:asio对机器进行ping?或者有没有办法让这个方法只运行4次并返回平均响应时间?
在链接的示例中,您必须更改handle_receive
函数以包含计数器。当它被调用四次时,您会告诉io_server
对象停止(为此,您必须将其设置为全局对象,或者在pinger
类中存储对它的引用),而不调用start_receive
。
相关文章:
- 理解boost::asio-async_read在无需读取内容时的行为
- 提升 ASIO 无法识别计时器对象
- C++Boost Asio Pool线程,带有lambda函数和传递引用变量
- boost::asio::steady_timer()与sleep()我应该使用哪一个
- boost::asio如何生成多个协同程序,然后加入它们
- 缓慢提升ASIO
- 从 Boost ASIO 获取 epoll 描述符 io_service对象
- 如何在 Boost.Asio 中使用 Zero-copy sendmsg/receive
- C++ Boost::asio串行通信与Arduino无法写入
- 如何使用 Boost Asio 在 Android 上获取我的本地 udp IP 地址?
- 提升 Asio TCP 服务器 处理多个客户端
- boost::asio UDP 广播客户端仅接收"fast"数据包
- 提升 ASIO - io_service 不要等待连接到线程
- 执行时使用 boost::asio::d eadline_timer 时出错
- Boost.Asio/OpenSSL HTTPS GET certificate trouble
- C++ boost::asio::ip::tcp::acceptor 有时不接受连接器?
- boost::asio data owning `ConstBufferSequence`
- 如何替换此示例代码片段中已弃用的handler_type_t或 boost::asio::handler_type?
- 使用Boost的半并发ICMP ping.Asio在Windows上
- C++ Boost.asio Ping