2015-05-29 49 views
0

我們有一個iOS應用程序,它可以對遠程服務器進行多次API調用。我們首先檢查我們是否有互聯網連接,然後進行所有的API調用。我們正在使用AFNetworking 1.0庫。AFNetworking有時可能無法使用某些WiFi網絡連接

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

請說明您正在使用的AFNetworking版本號。 –

回答

1

最後一個很簡單。使用:

[request setTimeoutInterval:5]; 

第二個問題取決於你在你的應用中對請求做什麼。在進入代碼的錯誤路徑之前,有時可能需要嘗試調用api 2或3次。

相關問題