【问题标题】:iOS WiFi probe intervaliOS WiFi 探测间隔
【发布时间】:2012-06-05 12:04:23
【问题描述】:

我正在编写一个通过 WiFi 连接到专有设备的应用程序。专有设备充当 WiFi 接入点。

如我所料,当设备断电时,WiFi 连接将终止。

iPhone 继续发送探测请求,寻找要连接的网络。它遵循用于发送探测的指数退避算法。

我的问题是最终iPhone发送的探测请求之间的间隔比我设备上的超时时间长,所以他们没有建立连接。

我正在使用可达性代码,它可以按预期工作。

似乎按下主页按钮将重置退避并立即发送探测请求。有谁知道让我的应用做类似事情的方法吗?

感谢您的帮助。

【问题讨论】:

  • 第一个问题很好。总结:您正在寻找一种方法让应用程序告诉 iOS“如果您没有连接到 WiFi,请立即查看!”。
  • 您是否尝试过发起网络连接?
  • 卓悦怎么样?是否可以在专有设备上实现它?
  • 您是否已经在 Info.plist 中将 UIRequiresPersistenWiFi 设置为 YES?
  • 你找到问题的具体答案了吗?

标签: ios wifi


【解决方案1】:

不是每次都使用 Reachability ping 互联网,而是 ping 本地网络上的主机,例如 DNS 服务器或路由器 (192.168.1.1)。

【讨论】:

    【解决方案2】:

    我以某种方式遇到了类似的情况,以检查设备是否连接到特定的 VPN 连接。该方法是通过标准 ping 或实施 ping Web 服务 ping 到本地网络中的机器。

    如果您的本地网络中没有后端,那么最简单的方法就是 ping。您可以从 Apple 开发者网站查看以下代码示例: http://developer.apple.com/library/mac/#samplecode/SimplePing/Introduction/Intro.html

    【讨论】:

      【解决方案3】:

      我怀疑如果您在应用程序中重新配置连接(重新设置 WiFi 配置),iPhone 会在没有退避的情况下重新开始扫描。因此,您的应用程序可以跟踪连接丢失后的多长时间,然后在适当的时间后重新配置链接。可能您必须重新配置为不同的 SSID,然后再切换回来,具体取决于 iOS 库的智能程度。

      【讨论】:

        【解决方案4】:

        如果我理解你的话,我不舒尔。您要检查设备是否仍连接到接入点?

        我已经构建了一个应用程序来通过 wifi 连接到扫描仪,扫描仪充当接入点。为此,我检查设备当前连接的 SSID 是否是扫描仪之一。要检查 CurrentSSID,您可以使用以下代码:

        +(NSString*)currentSSID {
            CFArrayRef myArray = CNCopySupportedInterfaces();
            CFDictionaryRef myDict = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(myArray, 0));
            if (!myDict) {
                return nil;
            }
            NSDictionary *myDictionary = (__bridge_transfer NSDictionary*)myDict;
            return [myDictionary objectForKey:@"SSID"];    
        }
        

        希望有帮助。

        【讨论】:

          【解决方案5】:

          恐怕没有办法在审核期间不被拒绝(您可以阅读如何访问SBWifiManager)。 Apple 不启用任何方式从沙盒环境访问 wifi 管理器。我在将我的设备连接到各种接入点(使用探测请求进行定位)时遇到了类似的问题,到目前为止,在 iOS 7 中,探测请求是在很长的间隔(甚至 15 分钟)之间发送的。尝试修改您的接入点。

          【讨论】:

            猜你喜欢
            • 2019-06-29
            • 2012-11-14
            • 1970-01-01
            • 2017-09-22
            • 1970-01-01
            • 2013-06-27
            • 2013-08-07
            • 2016-08-08
            • 1970-01-01
            相关资源
            最近更新 更多