我们有一个iOS应用程序,可以对远程服务器进行大量API调用。我们首先检查我们是否有互联网连接,然后进行所有API调用。我们正在使用AFNetworking 1.0库。
NSMutableURLRequest *request = [[self.class sharedNetworkHelper].httpClient
requestWithMethod:HTTP_VERB_POST
path:path
parameters:parameters
parameterEncoding:AFJSONParameterEncoding];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, NSHTTPURLResponse *responseObject) {
// Success response here
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
// Failure response here
}];
[operation start];
有时,无法与服务器建立连接。它将尝试~30秒,然后失败。我们注意到在一些WiFi网络上,这种情况从未发生过,但在其他WiFi网络上,这种情况发生的时间约占10%。当你再次尝试时,它通常会起作用。
我的问题是:
答案 0 :(得分:1)
最后一个非常简单。使用:
[request setTimeoutInterval:5];
第二个问题取决于您在应用中对请求做了什么。有时,在转到代码的错误路径之前尝试调用api 2或3次可能是合适的。