【问题标题】:How to check if internet is active and it works? [duplicate]如何检查互联网是否处于活动状态并且可以正常工作? [复制]
【发布时间】:2011-01-02 19:01:57
【问题描述】:
【问题讨论】:
标签:
iphone
ios
network-programming
【解决方案1】:
请注意,可达性(在我看来)是用词不当。
Reachability,包括reachabilityWithHostName(在Apple 的示例中)仅表明设备是否有可用的互联网连接来访问外部世界。
重要:它并不表示指定的主机是否实际启动并运行。
要确定远程主机是否真正启动并运行,您需要启动与远程主机的连接并在未启动的情况下处理超时。
【解决方案2】:
没有“互联网”这样的东西。存在大量连接在一起的计算机和其他硬件。现在,如果你需要一个特定的主机,你可以 ping 它(同样在代码中,但不知道 iPhone 是否允许你这样做)。如果您需要确保特定主机上的特定服务已启动并运行,您唯一的选择是发送请求并检查响应。
【解决方案3】:
在此处再次投票支持 Apple 的可达性示例代码。
请注意,正确处理这一点很重要 - 如果您提供与网络相关的误导性错误消息,显然会导致应用被拒绝。例如,如果您说您无法访问 myhost.com,而实际上是因为没有网络连接。