最近总是收到反馈,为什么我的Iphone连接Wi-Fi,总是弹不出portal?
其实并不是弹不出portal,而是弹portal比较慢,连接Wi-Fi后需要等待45s的时间,才能弹出portal。
但是为什么使用安卓机型没有此类问题,使用IOS系统就会产生portal弹出慢的问题呢?
其实是因为IOS系统在分配到ip以后,如果该网络没有cache过,会进入网络评估状态,这个过程需要与注册为“热点助手(Hotspot helper)”的APP交互。系统先发一个评估(Evaluate)的命令给每一个热点助手,命令包含SSID和BSSID,每一个命令助手要在45s内做出对该网络的可信度(有none, low, high三档)评估。
(1)第一个给出high的热点助手会被选为best_helper,后面的弹窗会与该助手交互。
(2)如果所有的热点助手都没有给出high,选择给评估最高的助手为best_helper,后面的弹窗会与该助手交互。(比如有四个助手,三个给了none,一个给了low,那么这个给low的会被选中)
(3)如果45s没有热点助手给出任何可信度的评估,苹果会迁移到认证结束(Authenticated)的状态,不会有弹窗。
最坏的结果是,首次连接,也许所有的热点助手都没有关于当前网络的记录,所以评估过程不可能在45s内给出high,甚至最少有一个给了none其他的根本没有给出评估结果,超时后系统把这个给出none的选为best_helper,开始后面的弹窗交互,这种情况,一定会延迟45s。也有可能是热点助手收到评估命令后,有些立刻给出了评估,有些给的迟一些,但是还是在45s以内所有的助手都给出了评估,系统选出来了best_helper,开始弹窗流程,这个过程也许用了10s,也许用了20s,这可能就是弹窗延迟时间不定的原因。
▲关于Captive网络的处理流程
综上所述,小编整理了以下几个解决方案应对苹果弹portal快慢的问题。
1. 使用PSK加密认证
使用PSK加密,这种情况会影响评估,直接给出high,加快弹窗。
2. 卸载所有与热点助手接口相关APP
导致苹果portal弹出慢的原因,是因为热点助手对网络可信度进行评估,那么我们把所有与热点助手接口相关的APP卸载,很有可能避免弹窗45S超时的问题。但是,究竟有哪些APP注册过热点助手,我们还不能确定,我们需要把所有的APP卸载也不切实际。
3. 存在SSID缓存的时候,手机有可能跳过Evaluating阶段,不需等待45秒超时。
当然最好的办法就是,苹果正视了这个问题,在下个ios版本改进了portal弹出延时问题,让我们一起期待一下吧。
敦崇科技
没时间解释了,快长按左边二维码关注我们~~

