1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- //
- // Util.m
- // Miaxis
- //
- // Created by tongjun on 14-3-5.
- // Copyright (c) 2014年 tongjun. All rights reserved.
- //
- #import "Util.h"
- //#import <SystemConfiguration/SystemConfiguration.h>
- //#import <netdb.h>
- #import <RealReachability/RealReachability.h>
- @implementation Util
- //判断网络是否连接
- //- (BOOL) connectedToNetWork
- //{
- // @try {
- // //创建零地址,0.0.0.0的地址表示查询本机的网络连接状态
- // struct sockaddr_in zeroAddress;
- // bzero(&zeroAddress, sizeof(zeroAddress));
- // zeroAddress.sin_len = sizeof(zeroAddress);
- // zeroAddress.sin_family = AF_INET;
- //
- // /**
- // * SCNetworkReachabilityRef: 用来保存创建测试连接返回的引用
- // *
- // * SCNetworkReachabilityCreateWithAddress: 根据传入的地址测试连接.
- // * 第一个参数可以为NULL或kCFAllocatorDefault
- // * 第二个参数为需要测试连接的IP地址,当为0.0.0.0时则可以查询本机的网络连接状态
- // * 同时返回一个引用必须在用完后释放
- // * PS: SCNetworkReachabilityCreateWithName: 这是个根据传入的网络测试连接,
- // * 第二个参数比如为“www.apple.com”,其他和上一个一样
- // *
- // * SCNetworkReachabilityGetFlags:这个函数用来获得测试连接的状态,
- // * 第一个参数为之前建立的测试连接的引用,
- // * 第二个参数用来保存获得的状态,
- // * 如果能获得状态则返回TRUE,否则返回FALSE。
- // *
- // */
- //
- // SCNetworkReachabilityRef defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&zeroAddress);
- // SCNetworkReachabilityFlags flags;
- //
- // BOOL didRetrieveFlags = SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags);
- // CFRelease(defaultRouteReachability);
- //
- // if (!didRetrieveFlags) {
- // printf("Error. Could not recover network reachability flags");
- // return NO;
- // }
- //
- // /**
- // * kSCNetworkReachabilityFlagsReachable: 能够连接网络
- // * kSCNetworkReachabilityFlagsConnectionRequired: 能够连接网络,但是首先得建立连接过程
- // * kSCNetworkReachabilityFlagsIsWWAN: 判断是否通过蜂窝网覆盖的连接,
- // * 比如EDGE,GPRS或者目前的3G.主要是区别通过WiFi的连接
- // */
- // BOOL isReachable = ((flags & kSCNetworkReachabilityFlagsReachable) != 0);
- // BOOL needsConnection = ((flags & kSCNetworkReachabilityFlagsConnectionRequired) != 0);
- //
- // return (isReachable && !needsConnection) ? YES : NO;
- // }
- // @catch (NSException *exception) {
- // return NO;
- // }
- //}
- + (BOOL) connectedToNetWork{
-
- [GLobalRealReachability startNotifier];
- ReachabilityStatus status = [GLobalRealReachability currentReachabilityStatus];
- [GLobalRealReachability stopNotifier];
-
- return status ? YES : NO;
- }
- @end
|