等待响应大约需要300ms,所以我每秒只能发送3-4个请求到我的自定义设备,它太慢了,我正在努力提高“用户交互”的速度。
现在我使用以下代码:
NSURLRequest* request = [NSURLRequest requestWithURL:[NSURL URLWithString:url] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:0.5];
NSHTTPURLResponse* response = nil;
NSError* error = nil;
[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];发布于 2012-03-11 00:04:32
您可以异步地触发请求,正确地实现+ (void)sendAsynchronousRequest:(NSURLRequest *)request queue:(NSOperationQueue *)queue completionHandler:(void (^)(NSURLResponse*, NSData*, NSError*))handler
假设你不想每5秒触发一组请求。您可以实现一个发出第一个请求的重复计时器。您可以让请求代理按顺序发出请求(每个代理发出下一个请求)。在非常简单的元语言中,它看起来像这样:
- repeatingTimer5sHandler {
issue1stRequestWithHandler:handlerFor1stRequest;
}
- handlerFor1stRequest {
handle response
issue2ndRequestWithHandler:handlerFor2ndRequest;
}
- handlerFor2ndRequest {
handle response
issue3rdRequestWithHandler:handlerFor3rdRequest;
}
- handlerFor3rdRequest {
handle response
issue4thRequestWithHandler:handlerFor4thdRequest;
}
- handlerFor4thRequest {
handle response
}在this page的底部是一个有效的解决方案。它只有一个请求,但它应该可以让你开始。
https://stackoverflow.com/questions/9647706
复制相似问题