1. 程式人生 > >iOS網路通訊的幾種簡單方法

iOS網路通訊的幾種簡單方法

在Demo中介紹了iOS幾種簡單的網路通訊方式。

1、AFNetworking(http/https) 支援介面

//get請求

-(void) httpGet: (NSString *)url parameters: (id)parameters identifier:(int)identifier block:(void (^)(id responseObject,NSError *error))block;

//下載圖片

-(void) httpGetImage: (NSString *)url identifier:(int)identifier block:(void (^)(id responseObject,NSError *error))block;

//通過引數獲得圖片

-(void)httpGetImage:(NSString *)url parameters:(id)parameters identifier:(int)identifier block:(void (^)(id responseObject,NSError *error))block;

//post請求

-(void) httpPost: (NSString *)url parameters: (id)parameters identifier:(int)identifier block:(void (^)(id responseObject,NSError *error))block;

//post資料

-(void) httpPost: (NSString *)url parameters: (id)parameters imageData:(NSData *)imageData identifier:(int)identifier block:(void (^)(id responseObject,NSError *error))block;

使用例子

[[NetworkService sharedNetworkService] getIndexDataWithBlock:^(id responseObject, NSError *error) { if (responseObject) {}];

#2、AsyncSocket(Socket)

使用例子

//AsyncSocket

[TCPUtils sharedInstance].socketHost = @"192.168.1.1";

[TCPUtils sharedInstance].socketPort = 808;

[TCPUtils sharedInstance].delegate = self;

// 在連線前先進行手動斷開

[TCPUtils sharedInstance].socket.userData = SocketOfflineByUser;

[[TCPUtils sharedInstance] cutOffSocket];

// 確保斷開後再連,如果對一個正處於連線狀態的socket進行連線,會出現崩潰

[TCPUtils sharedInstance].socket.userData = SocketOfflineByServer;

[TCPUtils sharedInstance].data = nil;

[TCPUtils sharedInstance].timeout = 120;

[[TCPUtils sharedInstance] socketConnectHost];

#3、NSURLSession(http/https)

支援介面

//post請求 請求引數放在NSDictionary中

-(void)httpspost:(NSString *)postUrl dict:(NSDictionary *)dict completionHandler:(void (^)(NSData *data, NSURLResponse *response, NSError *error))handler;

//下載圖片

-(void)downLoadImage:(NSString *)downUrl completionHandler:(void (^)(NSString *filePath))handler;

使用例子

[[SDNetworkManager sharedNetworkManager] getHomeInfoWithBlock:^(id responseObject, NSError *error) { if (error) { //@"伺服器連線異常"; } else { if([responseObject.code isEqualToString:@"200"]) { } else { [self toastInfo:responseObject.msg]; } }