【问题标题】:AFNetworking requests got timeout too early in very bad network condition在非常糟糕的网络条件下,AFNetworking 请求过早超时
【发布时间】:2015-03-19 11:02:22
【问题描述】:

我正在使用 AFNetworking 2.5,一切都很好,直到我遇到了非常严重的网络问题。我的请求随机超时:

Error Domain=NSURLErrorDomain Code=-1001
_kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=60

所以,当我发送图像时,我想通过使用来增加超时延迟:

aRequestSerializer.timeoutInterval = 600; // 10 minutes

不幸的是,请求在各种延迟后超时:30 秒、2 分钟、3 分半、6 分钟......但它永远不会在 10 分钟停止。

有什么想法吗? 提前致谢。

这是我的代码:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

manager.responseSerializer = [AFHTTPResponseSerializer serializer];

manager.requestSerializer = [AFHTTPRequestSerializer serializer];
[self setupAuthTokenForRequestSerializer:manager.requestSerializer];
[self setupAuthHeaderForRequestSerializer:manager.requestSerializer];
[self setupTimeoutForRequestSerializer:manager.requestSerializer];

return [manager POST:aUrl 
          parameters:nil 
constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
             [formData appendPartWithFileData:aImageData
                                         name:@"file"
                                     fileName:@"file.jpg"
                                     mimeType:@"image/jpeg"];
         }
             success:successBlock 
             failure:failureBlock];

编辑:问题也出现在 iOS 7 和 8、真实设备和模拟器上...

编辑 2:看起来结果操作的请求的 timeoutInterval 只有 60...(它仍然没有解释为什么这个随机超时)

编辑3:看来AFHTTPRequestSerializer的KVO更新NSMutableURLRequest timeoutInterval不起作用...

【问题讨论】:

    标签: ios timeout afnetworking afnetworking-2 nsmutableurlrequest


    【解决方案1】:

    好像和这段代码有关:https://github.com/AFNetworking/AFNetworking/commit/0f3829f6afdfa57eced1e80c317e68ca5e5f85d0#comments

    删除后,请求持续时间更长...甚至超过10分钟,可能是因为cpu时间,而不是实时...我不知道。反正好像解决了……

    【讨论】:

      猜你喜欢
      • 2018-06-27
      • 1970-01-01
      • 2012-05-06
      • 2017-01-25
      • 2010-09-16
      • 1970-01-01
      • 2021-03-11
      • 1970-01-01
      • 2011-07-11
      相关资源
      最近更新 更多