+( BOOL )connectedToNetwork{
struct sockaddr_in zeroAddress;
bzero(&zeroAddress;, sizeof(zeroAddress));
zeroAddress .sin_len
= sizeof(zeroAddress); zeroAddress .sin_family
= AF_INET ;
SCNetworkReachabilityRef
defaultRouteReachability = SCNetworkReachabilityCreateWithAddress( NULL , (struct
sockaddr *)&zeroAddress;);
SCNetworkReachabilityFlags
flags; BOOL
didRetrieveFlags = SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags;);
CFRelease(defaultRouteReachability);
if
(!didRetrieveFlags) {
NSLog( @"Error. Could not recover network reachability flags" );
return
NO ; }
BOOL
isReachable = flags & kSCNetworkFlagsReachable; BOOL
needsConnection = flags & kSCNetworkFlagsConnectionRequired;
return
(isReachable && !needsConnection) ? YES
: NO ;
} |
判断网络是否连接正常
最新推荐文章于 2023-06-19 09:37:37 发布