0

我的应用程序使用 Wifi 网络,我正在使用可达性示例代码来检测 Wifi 网络。

当应用程序连接到任何正常的 Wifi 接入点时,应用程序运行良好,但当应用程序连接到 Ad-hoc 网络时,我的应用程序检测到错误的网络更改。

当应用程序连接到 ad-hoc 网络时,经过一段时间(大约每 15 到 20 分钟),当前可达性状态会变为Not Reachable几秒钟,然后再次恢复到Reachable状态(仅供参考,类似的 Android 应用程序在同一个 Ad-组网)。

调试信息

可达性标志状态:----------

1或2秒后Wifi恢复正常状态

可达性标志状态:-R ------d

代码

    - (NetworkStatus) currentReachabilityStatus{
        NSAssert(reachabilityRef != NULL, @"currentNetworkStatus called with NULL reachabilityRef");
        NetworkStatus retVal = NotReachable;
        SCNetworkReachabilityFlags flags;
        if (SCNetworkReachabilityGetFlags(reachabilityRef, &flags))
        {
            if(localWiFiRef)
            {
                retVal = [self localWiFiStatusForFlags: flags];
            }
            else
            {
                retVal = [self networkStatusForFlags: flags];
            }
        }
        if(NotReachable == retVal){
            printf("\nNetwork not reachable.");
        }
        return retVal;
    }
4

0 回答 0