AFNetworking和ASIHTTPRequest,大致如下:
使用上:AFN是用上较ASI略简单,但扩展不如ASI;AFN能按普通的block写法直接用闭包的写法,但是ASI不行,这样ASI的代码就比较松散;
效率:AFN基于NSURL,而NSURL是基于CFNetwork;ASI直接基于CFNetwork,所以ASI的效率较优,扩展性也就更好;CFNetwork包含几部分,都是基于CFSocket。所有网络通信的基础是Socket,一个Socket与另一个连接并传送数据。BSD Socket是一类最常见的Socket抽象接口。
由于ASIHTTPRequest已经不再维护,没有特殊需要使用AFNetworking;
详见:http://www.infoq.com/cn/articles/afn_vs_asi
AFNetWork的使用方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
AFHTTPClient * client = [[AFHTTPClient alloc] initWithBaseURL:[
NSURL
URLWithString:@
"http://www.baidu.com"
]];
AFHTTPRequestOperation * operation = [client HTTPRequestOperationWithRequest:request success:^(AFHTTPRequestOperation *operation,
id
responseObject) {
NSLog
(@
"success obj == %@"
,responseObject);
} failure:^(AFHTTPRequestOperation *operation,
NSError
*error) {
NSLog
(@
"faild , error == %@ "
, error);
}];
[operation start];
|