IOS開發之網絡編程開源類 Reachability應用

先看Reachability.h發現ios

#import <Foundation/Foundation.h>網絡

#import <SystemConfiguration/SystemConfiguration.h>spa

#import <netinet/in.h>.net

因此若是咱們在項目中須要用到此類的話,須要引入SystemConfiguration.framework。

此類在ios網絡開發中能夠確認判斷網絡環境,鏈接狀況(無網絡鏈接,3G,WIFI,GPRS)code


enum {   // DDG NetworkStatus Constant Names.blog

kNotReachable = 0, // Apple's code depends upon 'NotReachable' being the same value as 'NO'.開發

kReachableViaWWAN, // Switched order from Apple's enum. WWAN is active before WiFi.it

kReachableViaWiFiio

 

};class

定義三種網絡類型:

一:kNotReachable                    無網絡鏈接

二:kReachableViaWWAN       使用GPRS或者3G網絡鏈接

三:kReachableViaWiFi            使用WIFI鏈接

我在項目中用下面的語句判斷是否存在網絡鏈接

        BOOL reachable = [[ReachabilityreachabilityForInternetConnection] isReachable];

            if (!reachable) {

                UIAlertView *alertView = [[[UIAlertView alloc] initWithTitle:@"該功能須要鏈接網絡才能使用,請檢查您的網絡鏈接狀態" message:nil delegate:nil cancelButtonTitle:@"肯定" otherButtonTitles:nil] autorelease];

                [alertView show];

                return;

            }

當有網絡請求的時候,類中方法能夠返回目前的網絡鏈接狀態

例如:Reachable *reachable = [Reachable   reachabilityWithHostName:@"http://blog.csdn.net"];

以後咱們應用

// These are the status tests.

- (NetworkStatus) currentReachabilityStatus;   返回網絡鏈接狀態

 switch(  [reachable currentReachabilityStatus ] ) {

/* [reachable currentReachabilityStatus ]包含三個值

 

一:kNotReachable                    無網絡鏈接

二:kReachableViaWWAN       使用GPRS或者3G網絡鏈接

三:kReachableViaWiFi            使用WIFI鏈接 */

 

}

相關文章
相關標籤/搜索