Jam*_*rue 5 iphone cocoa-touch objective-c
我想在Cocoa-Touch中实现一个Ping类.从我已经完成的谷歌搜索和我看过的旧c代码,似乎使用ICMP协议是最好的方法.
我想我的问题是,iPhone SDK中是否支持ICMP,如果没有,我可以使用CoreFoundation Network类中的任何内容吗?我已经看过CFHost和CFHostStartInfoResolution(主机,kCFHostReachability和错误),但更多的是检查主机是否存在而不是花时间做出响应等.
是的,理论上你可以做到这一点。然而,我上次检查时您需要以 root 身份运行才能访问发送 ICMP 跟踪所需的“原始”BSD 套接字。至少在 Mac 上是这样,所以我假设 iPhone 上也是如此。
您可能想看看 SystemConfiguration 框架和 SCreachability API 作为替代方案。这些都是异步的,因此您可以跟踪了解网络延迟所需的时间。