我正在使用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不起作用...
答案 0 :(得分:0)
删除后,请求会持续更长时间......甚至超过10分钟,也许是因为cpu时间,而不是实时......我不知道。无论如何,它似乎已经解决了......