我正在使用AFJSONRequestOperation上传图像。
在上传大量图像的情况下,某些请求会失败并出现超时错误。
我试过了
AFJSONRequestOperation *operation = ...
[operation start];
和
AFJSONRequestOperation *operation = ...
[operations addObject:operation];
...
[client enqueueBatchOfHTTPRequestOperations:operations progressBlock:nil completionBlock:nil];
然而,仍然没有运气。
我认为时间计数从创建操作时开始。
那么,我应该为自己的算法逐个安排请求吗?
值得注意的是,AFNetworking将创建尽可能多的NSOperations,因为系统有资源,并同时运行它们。问题是应用程序/计算机只能同时建立这么多网络连接。操作开始后立即开始计数。出于所有实际目的,在iPhone上,您可能不会看到问题,因为运行多个操作的资源较少,但模拟器一次可以运行数百个线程(比最大并发网络连接数多得多(。
我的建议是将并发操作的数量(我认为位于AFHTTPClient中(限制为比NSOperationQueueDefaultMaxConcurrentOperationCount
更合理的数量,这允许设备运行尽可能多的资源。