AFNetworking有时无法使用某些WiFi网络进行连接

时间:2015-05-29 11:34:58

标签: ios objective-c wifi afnetworking

我们有一个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%。当你再次尝试时,它通常会起作用。

我的问题是:

  1. 是否存在可以改善此不可靠连接的特定无线网络设置?
  2. 在应用程序中尝试几次以查看其中一个请求是否成功是一个好主意吗?
  3. 我们可以更改应用中的超时值,以便应用程序不会等到处理请求后再说5秒钟吗?

1 个答案:

答案 0 :(得分:1)

最后一个非常简单。使用:

[request setTimeoutInterval:5];

第二个问题取决于您在应用中对请求做了什么。有时,在转到代码的错误路径之前尝试调用api 2或3次可能是合适的。