傳智ios至2015年4月6.多線程網(wǎng)絡_第1頁
傳智ios至2015年4月6.多線程網(wǎng)絡_第2頁
傳智ios至2015年4月6.多線程網(wǎng)絡_第3頁
傳智ios至2015年4月6.多線程網(wǎng)絡_第4頁
傳智ios至2015年4月6.多線程網(wǎng)絡_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

網(wǎng)絡

NSURLConnectioniOS學院常用類NSURL:請求地址NSURLRequest:一個NSURLRequest對象就代表一個請求,它包含的信息有一個NSURL對象請求方法、請求頭、請求體請求超時…

…NSMutableURLRequest:NSURLRequest的子類NSURLConnection負責發(fā)送請求,建立客戶端和服務器的連接發(fā)送NSURLRequest的數(shù)據(jù)給服務器,并收集來自服務器的響應數(shù)據(jù)NSURLConnection的使用步驟使用NSURLConnection發(fā)送請求的步驟很簡單創(chuàng)建一個NSURL對象,設置請求路徑傳入NSURL創(chuàng)建一個NSURLRequest對象,設置請求頭和請求體使用NSURLConnection發(fā)送NSURLRequestNSURLRequestNSURL請求頭請求體NSURLConnection服務器NSURLConnection發(fā)送請求NSURLConnection常見的發(fā)送請求方法有以下幾種同步請求+(NSData*)sendSynchronousRequest:(NSURLRequest*)requestreturningResponse:(NSURLResponse**)responseerror:(NSError**)error;異步請求:根據(jù)對服務器返回數(shù)據(jù)的處理方式的不同,又可以分為2種block回調(diào)+(void)sendAsynchronousRequest:(NSURLRequest*)request

queue:(NSOperationQueue*)queue

completionHandler:(void(^)(NSURLResponse*response,NSData*data,NSError*connectionError))handler;NSURLConnection發(fā)送請求代理-(id)initWithRequest:(NSURLRequest*)requestdelegate:(id)delegate;+(NSURLConnection*)connectionWithRequest:(NSURLRequest*)requestdelegate:(id)delegate;-(id)initWithRequest:(NSURLRequest*)requestdelegate:(id)delegatestartImmediately:(BOOL)startImmediately;在startImmediately

=

NO的情況下,需要調(diào)用start方法開始發(fā)送請求-(void)start;成為NSURLConnection的代理,最好遵守NSURLConnectionDataDelegate協(xié)議NSURLConnectionDelegateNSURLConnectionDataDelegate協(xié)議中的代理方法開始接收到服務器的響應時調(diào)用-(void)connection:(NSURLConnection*)connectiondidReceiveResponse:(NSURLResponse*)response;接收到服務器返回的數(shù)據(jù)時調(diào)用(服務器返回的數(shù)據(jù)比較大時會調(diào)用多次)-(void)connection:(NSURLConnection*)connectiondidReceiveData:(NSData*)data;服務器返回的數(shù)據(jù)完全接收完畢后調(diào)用-(void)connectionDidFinishLoading:(NSURLConnection*)connection;請求出錯時調(diào)用(比如請求超時)-(void)connection:(NSURLConnection*)connectiondidFailWithError:(NSError*)error;NSMutableURLRequestNSMutableURLRequest是NSURLRequest的子類,常用方法有設置請求超時等待時間(超過這個時間就算超時,請求失敗)-(void)setTimeoutInterval:(NSTimeInterval)seconds;設置請求方法(比如GET和POST)-(void)setHTTPMethod:(NSString*)method;設置請求體-(void)setHTTPBody:(NSData*)data;設置請求頭-(void)setValue:(NSString*)valueforHTTPHeaderField:(NSString*)field;創(chuàng)建GET和POST請求創(chuàng)建GET請求NSString*urlStr=[@""stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];NSURL*url=[NSURLURLWithString:urlStr];NSMutableURLRequest*request=[NSMutableURLRequestrequestWithURL:url];創(chuàng)建POST請求NSString*urlStr=@"";NSURL*url=[NSURLURLWithString:urlStr];NSMutableURLRequest*request=[NSMutableURLRequestrequestWithURL:url];request.HTTPMethod=@"POST";//請求體NSString*bodyStr=@"username=123&pwd=123";request.HTTPBody=[bodyStrdataUsingEncoding:NSUTF8StringEncoding];發(fā)送JSON給服務器如何發(fā)送JSON給服務器一定要使用POST請求設置請求頭[requestsetValue:@"application/json"

forHTTPHeaderField:@"Content-Type"];設置JSON數(shù)據(jù)為請求體檢測網(wǎng)絡狀態(tài)在網(wǎng)絡應用中,需要對用戶設備的網(wǎng)絡狀態(tài)進行實時監(jiān)控,目的是讓用戶了解自己的網(wǎng)絡狀態(tài),防止一些誤會(比如怪應用無能)根據(jù)用戶的網(wǎng)絡狀態(tài)進行智能處理,節(jié)省用戶流量,提高用戶體驗WIFI\3G網(wǎng)絡:自動下載高清圖片低速網(wǎng)絡:只下載縮略圖沒有網(wǎng)絡:只顯示離線的緩存數(shù)據(jù)蘋果官方提供了一個叫Reachability的示例程序,便于開發(fā)者檢測網(wǎng)絡狀態(tài)

ReachabilityReachability的使用步驟添加框架SystemConfiguration.framework添加源代碼包含頭文件#import"Reachability.h"Reachability常見用法//是否WIFI+(BOOL)IsEnableWIFI{

return([[Reachability

reachabilityForLocalWiFi]currentReachabilityStatus]!=NotReachable);}//是否3G+(BOOL)IsEnable3G{

return([[Reachability

reachabilityForInternetConnection]currentReachabilityStatus]!=NotReachable);}網(wǎng)絡監(jiān)控[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(reachabilityChanged:)name:kReachabilityChangedNotificationobject:nil];Reachability=[ReachabilityreachabilityForInternetConnection];[

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論