iOS网络通讯类库

iOS网络通讯类库

 

iOS网络通讯类库:ASIHTTPRequest,AFNetworking,MKNetWorkKIt.php

ASIHTTPRequest在ios5.0以后就不在维护了,因此以后主要就是AFNetworking和MKNetworkKit。ios

AFNetWorking:git

适合逻辑简单的应用,或者更适合开发资源尚不丰富的团队,由于AFN的易用性,而这样的应用(或团队)对底层网络控件的定制化要求也很是低。github

MKNetworkKit:api

一、高度的轻量级,仅仅只有2个主类网络

二、自主操做多个网络请求app

三、更加准确的显示网络活动指标post

四、自动设置网络速度,实现自动的2G、3G、wifi切换spa

五、自动缓冲技术的完美应用,实现网络操做记忆功能,当你掉线了又上线后,会继续执行未完成的网络请求队列

六、能够实现网络请求的暂停功能

七、准确无误的成功执行一次网络请求,摒弃后台的屡次请求浪费

八、支持图片缓冲

九、支持ARC机制

十、在整个app中能够只用一个队列(queue),队列的大小能够自动调整

 

MKNetWorkKIt的使用方法:

1.下载MKNetWorkKIt主要是下载MKNetWorkKIt这个。

2.新建一个ARC的工程。

3.将MKNetWorkKit这个文件夹拖到你新建的工程中。添加:SystemConfiguration.framework,CFNetwork.framework,Security.framework。

4.在ViewControler里的viewDidLoad方法里写下以下代码:

GET请求的:

1. <span style="font-size:14px;">MKNetworkEngine *engine = [[MKNetworkEngine alloc] initWithHostName:@"192.168.2.176:9502/api"  

2. customHeaderFields:nil];  

3. MKNetworkOperation *op = [engine operationWithPath:@"login.php?userid=admin&userpwd=123" params:nil httpMethod:@"GET"];  

4. [op onCompletion:^(MKNetworkOperation *operation){  

5.     NSLog(@"request string: %@",[op responseString]);  

6. }   

7. onError:^(NSError *error){  

8.   

9. }];  

10. [engine enqueueOperation:op];</span> 

 

 POST请求:

1. <span style="font-size:14px;">  NSMutableDictionary *dic = [[NSMutableDictionary alloc] init];  

2.   [dic setValue:@"admin" forKey:@"username"];  

3.   [dic setValue:@"123" forKey:@"password"];  

4.     

5.   MKNetworkOperation *op = [engine operationWithPath:@"user.do" params:dic httpMethod:@"POST"];  

6.     

7.   [op onCompletion:^(MKNetworkOperation *operation) {  

8.       NSLog(@"post response string :%@",[op responseString]);                  

9.   } onError:^(NSError *error) {  

10.       DLog(@"%@", error);  

11.   }];  

12.     

13.   [engine enqueueOperation:op];</span> 

强烈注意的地方:

1,github下载了该项目后,若是想运行其demo,必定 要打开MKNetworkKit.xcworkspace该文件,若单独打开,则编译时会提示缺乏libMKNetworkKit-iOS.a文件!!!

2,在初始化 MKNetworkEngine的时候,不要加上"http://" 会自动帮你加上的。

相关文章
相关标签/搜索