[转]同步与异步调用http请求 iphone开发
2011-03-09 13:19
351 查看
异步:
NSMutableData* buf = [[NSMutableData alloc] initWithLength:0];
NSURLConnection* connection = [[NSURLConnection alloc] initWithRequest:req delegate:self];
// 收到响应时, 会触发
- (void)connection:(NSURLConnection *)aConnection didReceiveResponse:(NSURLResponse *)aResponse;
// 你可以在里面判断返回结果, 或者处理返回的http头中的信息
// 每收到一次数据, 会调用一次
- (void)connection:(NSURLConnection *)aConn didReceiveData:(NSData *)data;
// 因此一般来说,是
- (void)connection:(NSURLConnection *)aConn didReceiveData:(NSData *)data
{
[buf appendData:data];
}
// 当然buffer就是前面initWithRequest时同时声明的.
// 网络错误时触发
- (void)connection:(NSURLConnection *)aConn didFailWithError:(NSError *)error;
// 全部数据接收完毕时触发
- (void)connectionDidFinishLoading:(NSURLConnection *)aConn;
第二段是同步请求
,~
// 初始化请求
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
// 设置URL
[request setURL:[NSURL URLWithString:urlStr]];
// 设置HTTP方法
[request setHTTPMethod:@"GET"];
// 发 送同步请求, 这里得returnData就是返回得数据了
NSData *returnData = [NSURLConnection sendSynchronousRequest:request
returningResponse:nil error:nil];
// 释放对象
[request release];
NSMutableData* buf = [[NSMutableData alloc] initWithLength:0];
NSURLConnection* connection = [[NSURLConnection alloc] initWithRequest:req delegate:self];
// 收到响应时, 会触发
- (void)connection:(NSURLConnection *)aConnection didReceiveResponse:(NSURLResponse *)aResponse;
// 你可以在里面判断返回结果, 或者处理返回的http头中的信息
// 每收到一次数据, 会调用一次
- (void)connection:(NSURLConnection *)aConn didReceiveData:(NSData *)data;
// 因此一般来说,是
- (void)connection:(NSURLConnection *)aConn didReceiveData:(NSData *)data
{
[buf appendData:data];
}
// 当然buffer就是前面initWithRequest时同时声明的.
// 网络错误时触发
- (void)connection:(NSURLConnection *)aConn didFailWithError:(NSError *)error;
// 全部数据接收完毕时触发
- (void)connectionDidFinishLoading:(NSURLConnection *)aConn;
第二段是同步请求
,~
// 初始化请求
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
// 设置URL
[request setURL:[NSURL URLWithString:urlStr]];
// 设置HTTP方法
[request setHTTPMethod:@"GET"];
// 发 送同步请求, 这里得returnData就是返回得数据了
NSData *returnData = [NSURLConnection sendSynchronousRequest:request
returningResponse:nil error:nil];
// 释放对象
[request release];
相关文章推荐
- 同步与异步调用http请求 iphone开发
- 同步与异步调用http请求 iphone开发
- 同步与异步调用http请求 iphone开…
- iOS开发-如何用GCD同步若干个异步调用?
- iPhone开发中如何异步调用web service
- iPhone开发中如何异步调用web service
- iphone 开发第七天 - IOS之同步请求、异步请求、GET请求、POST请求
- iPhone开发 让viewDidAppear/viewWillAppear 在页面加载前始终调用
- 理解 iOS 开发中 GCD 相关的同步(synchronization)\ 异步(asynchronization),串行(serial)\ 并行(concurrency)概念
- 利用bluebird的promise 实现nodejs http下载异步调用的同步逻辑
- iOS上的http请求:get、post以及同步、异步
- C# 委托的同步调用和异步调用
- 多线程开发思想之:同步运行与异步运行
- 同步调用和异步调用
- async await 同步方法调用异步方法死锁
- Qt中的信号和槽之connect----多线程调用全解析(同步/异步)
- ios网络开发 同步下载和异步下载
- .net知识系列之九:分布式开发(xml webservice介绍和服务器开发,异步调用)
- Linux下同步模式、异步模式、阻塞调用、非阻塞调用总结
- Thrift 半同步半异步的服务模型-THsHaServer(异步调用客户端)