5

AFJSONRequestOperationを使用して画像をアップロードしています。AFNetworkingのタイムアウト

イメージの数をアップロードする場合、タイムアウトエラーでいくつかの要求が失敗します。

私は、しかし、まだ運が

AFJSONRequestOperation *operation = ... 
[operation start]; 

AFJSONRequestOperation *operation = ... 
[operations addObject:operation]; 
... 
[client enqueueBatchOfHTTPRequestOperations:operations progressBlock:nil completionBlock:nil]; 

を試していません。

操作が作成されると時間カウントが開始されると思います。

私自身のアルゴリズムのためにリクエストを1つずつスケジュールする必要がありますか?

答えて

1

注目すべき点は、AFNetworkingは、システムがリソースを持っているのと同数のNSOperationsを作成し、それらを同時に実行することです。問題は、アプリケーション/コンピュータが同時に行うことができるネットワーク接続が非常に多いことです。操作が開始されるとすぐにカウントが開始されます。すべての実用的な目的のために、iPhone上で複数の操作を実行するリソースが少なくなるため、問題は見られないかもしれませんが、シミュレータは一度に数百のスレッドを実行できます。

私が提案しているのは、AFTPTPClientにある同時操作数をNSOperationQueueDefaultMaxConcurrentOperationCountよりも妥当なものに制限することです。これにより、リソースを持つ数だけデバイスを実行できるようになります。

+0

このバグに興味があるかもしれません:https://github.com/AFNetworking/AFNetworking/issues/953 –

+0

別のオプションは、各操作を前の操作の完了に依存させることです。 –