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

來源:互聯網
上載者:User

先看Reachability.h發現

#import <Foundation/Foundation.h>

#import <SystemConfiguration/SystemConfiguration.h>

#import <netinet/in.h>

所以如果我們在項目中需要用到此類的話,需要引入SystemConfiguration.framework。

此類在ios網路開發中可以確認判斷網路環境,串連情況(無網路連接,3G,WIFI,GPRS)

enum {   // DDG NetworkStatus Constant Names.

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.

kReachableViaWiFi

};

定義三種網路類型:

一:kNotReachable                    無網路連接

二:kReachableViaWWAN       使用GPRS或者3G網路連接

三:kReachableViaWiFi            使用WIFI串連

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

        BOOL reachable = [[Reachability
reachabilityForInternetConnection] 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串連 */

}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.