2

我目前正在使用可达性来检测可用的连接。当什么都没有或有良好的连接时,这很有效。但是,如果我的用户在飞机上拥有自己的 wifi 节点,但没有连接到整个互联网怎么办?我的用户将在 wifi 开启的情况下处于飞行模式,并且 Reachability 会感到困惑——它告诉我她已连接,但她的连接不足以进行我的 HTTP 调用。

可达性检测到 wifi,但不够精细或不够精细,无法确定 wifi 是否真的提供对互联网的访问。当尝试连接到 wifi 但没有正确的凭据进行授权时,这也可能发生在咖啡馆或办公室。

是否可以检测 wifi 节点是否要求提供凭据?我是否需要进行 HTTP 调用来检查真正的连接性?有没有更聪明的方法来解决这个问题?

4

1 回答 1

-1

据我所知,你必须做一些工作才能做到这一点。仅供参考,当 WiFi 和蜂窝调制解调器的接口打开时,当接口重新联机时,就会有整个握手过程。接口是否打开和打开、是否有 IP 地址以及是否可以访问 Internet 地址是有区别的。我知道当我们关闭飞行模式并恢复连接时这更重要,但有时我们会忘记整个“启动和获取 IP 地址”的事情。

我会检查每个接口的可达性标志,然后看看你是否可以点击一个地址并通过该接口取回数据。

于 2016-07-14T14:28:11.733 回答