objective-c - ICMP 和 iPhone SDK

标签 objective-c iphone cocoa-touch

我希望在 Cocoa-Touch 中实现一个 Ping 类。从我做过的谷歌搜索和我看过的旧 c 代码来看,似乎使用 ICMP 协议(protocol)是最好的方法。

我想我的问题是,iPhone SDK 是否支持 ICMP,如果不支持,我可以使用 CoreFoundation Network 类中的任何内容代替吗?我查看了 CFHost 和 CFHostStartInfoResolution(host, kCFHostReachability, &error) 但更多的是检查主机是否存在,而不是花时间响应等。

最佳答案

是的,理论上你可以这样做。然而,上次我检查你需要以 root 身份运行才能访问发送 ICMP 跟踪所需的“原始”BSD 套接字。至少在 Mac 上是这样,所以我认为在 iPhone 上也是如此。

您可能想看看 SystemConfiguration 框架和 SCReachability API 作为替代方案。这些都是异步的,因此您可以跟踪了解网络延迟所需的时间。

关于objective-c - ICMP 和 iPhone SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/837964/

相关文章:

ios - 检查时间是否介于两次iOS之间

iphone - 如何使 UITextView "Done"按钮 resignFirstResponder?

iphone - iOS9 上的 UIAlertController ActionSheet 问题

iphone - applicationWillTerminate和背景:非常困惑

ios - 如何在tableview中显示字典数据

objective-c - UIButton 作为 MKAnnotationView 中的 subview 不起作用

ios - 在 iOS 中画线时命中检测

ios - 如何为客户 UIButon 设置属性

objective-c - 检测用户在特定时间内没有触摸屏幕

ios - ScrollView 改变按钮 backgroundImage 时跳转到页面顶部