【问题标题】:C++ Boost.asio PingC++ Boost.asio 平
【发布时间】:2012-08-13 11:40:12
【问题描述】:

我正在尝试制作一个程序来列出网络上设备的所有 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 和着色器时在 C++ 方面经验丰富,但是当我运行这个程序时,它一遍又一遍地 ping (454+) 并且理解它让我陷入循环(没有双关语),它似乎包含一个大量的速记,我从未见过的功能等。

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回复。您知道程序中的哪个部分要求另一个响应吗?如果让另一台机器继续响应,我不想终止服务。
    • @CoderWalker 发送“ping”的部分?在链接示例中,start_sendhandle_timeout
    猜你喜欢
    • 1970-01-01
    • 2011-07-29
    • 2017-03-04
    • 1970-01-01
    • 1970-01-01
    • 2015-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多