我的应用程序使用 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;
}