0

如何向服务器发送 N 个请求说我有 10 个 Xml 网址,我必须同时点击服务器 10 个网址..

4

1 回答 1

1

有几种方法可以做到这一点。

大中央调度

dispatch_async(dispatch_queue_create("com.myApp.uploadXml", DISPATCH_QUEUE_CONCURRENT), ^(void)
{
      //Upload here . . 
});

您可以设置并发请求的数量,如下所示:

https://developer.apple.com/library/mac/#documentation/General/Conceptual/ConcurrencyProgrammingGuide/OperationQueues/OperationQueues.html

BBHTTP

BBHTTP和其他网络库支持这一点例如下面的执行器有 10 个并发请求。

BBHTTPExecutor* xmlUploadExecutor = [BBHTTPExecutor initWithId:@"myApp.xmlUploder"];
xmlUploadExecutor.maxParallelRequests = 10;

BBHTTPRequest* request = [[BBHTTPRequest alloc]
                      initWithURL:[NSURL URLWithString:@"http://upload.url"]
                      andVerb:@"PUT"];


request.upLoadProgressBlock = ^(NSUInteger current, NSUInteger total) { /* ... */ };
request.finishBlock = ^(BBHTTPRequest* request) { /* ... */ };
[request setUploadData:yourData withContentType:@"text/xml"];

[xmlUploadExecutor executeRequest:request];

其他选项

您还可以使用另一个网络库,例如 AFNetworking 或使用 NSOperationQueue

于 2013-06-11T07:34:27.437 回答