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]; } }