【发布时间】:2017-12-10 03:28:48
【问题描述】:
我想在启动外部程序之前在我的 Qt 应用程序中 ping 一个 IP 地址。
我想编写一个 ping 类而不使用 ping.exe(并执行一个进程)。问题是当我“ping 127.0.0.1”时,在 Windows 上完成(ping)过程需要 3 秒以上的时间。在执行(立即)我的外部程序之前,我只需要快速检查(少于 500 毫秒)。
我想使用 QNetwork 或类似的东西。
【问题讨论】:
-
我认为这需要几秒钟,因为
ping实用程序会发送多个回显请求。您可以将其配置为仅发送一个包,例如:ping 127.0.0.1 -n 1。进程立即退出。 -
一种可能性是如 vahancho 所说,减少尝试次数并坚持使用“ping”,另一种可能是使用 ICMP(Internet 控制消息协议;msdn.microsoft.com/en-us/library/windows/desktop/…)并自己实施。
-
如果您想检查连接,我不知道您为什么要 ping IP 地址。可能有其他更好的解决方案来解决此请求。
标签: qt network-programming qt5 qtnetwork