首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Reachability在iOS上使用什么网络协议?

Reachability在iOS上使用什么网络协议?
EN

Stack Overflow用户
提问于 2020-12-23 14:18:17
回答 1查看 100关注 0票数 0

我确信很少有iOS开发人员没有直接或通过Alamofire这样的框架使用过Reachability

我感兴趣的是它到底做了什么?我所能做的最好的猜测是,给定的主机打开套接字,然后侦听所述主机。但是它使用的是什么网络协议,它是简单的UDP (据我观察它不是http ),它定期向所述主机发送包并等待答复吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-23 14:22:34

可达性根本不发送任何数据包。它甚至没有告诉你,一个主机实际上是可以到达的。它只是告诉您,如果您提出了一个网络请求,那么系统将尝试使用一个活动的网络接口。就这样。没有任何承诺,这些数据包会到达(更不用说你会得到一个响应),只是iOS会尝试发送它们。

可达性实际上只有几个用途(大多数情况下不应该使用)。如果“没有可用的网络”会导致您修改您的用户界面,或者告诉您现在可能是重新尝试以前失败的连接的好时机,这是非常有用的。(自iOS 12,您确实应该为此使用NWPathMonitor。自从iOS 12之后,我不知道它对可实现性有什么好的用途。)

只有尝试发送请求并查看是否得到响应,才能知道请求是否会成功。这就是不建议在发送请求之前测试Reachability的原因。只要发送请求,并处理错误,如果它们来了,因为它总是有可能有一个错误,即使Reachability说你可以连接。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65425780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档