NSURLSession sharedSession 默认超时

NSURLSession sharedSession default timeout

有人知道 [NSURLSession sharedSession] 的超时配置是什么吗?

我正在调试,这些信息会很有帮助。

编辑

显然我的问题不清楚 (!)。我不是在问如何更改超时。我问的是默认值是多少。所以这不是重复的。

URL 会话有两次超时。第一个是接收新数据之间允许的最长时间。这叫做timeoutIntervalForRequest。第二个是允许整个请求花费的最长时间(假设它定期接收新数据)。这叫做 timeoutIntervalForResource.

这两个超时都默认使用 NSURLSessionConfiguration 配置,并且可以在 NSURLRequest 上覆盖。

默认 timeoutIntervalForRequest 为 60 秒。

默认 timeoutIntervalForResource 为 7 天。

现在有三个超时 URL 会话。详情如下:

  1. timeoutInterval - 连接超时是建立初始连接即完成 TCP 连接握手的超时。 如果在连接尝试期间请求保持空闲的时间超过超时间隔,则认为该请求已超时。 默认超时间隔为 60 秒。

  2. timeoutIntervalForRequest - 在放弃之前等待额外数据到达时使用的超时间隔。一旦新数据到达,该值就会重置。默认值为 60。

  3. timeoutIntervalForResource - 如果原始请求因超时而失败,后台会话创建的任何上传或下载任务都会自动重试。要配置允许重试或传输上传或下载任务的时长,请使用 timeoutIntervalForResource 属性。默认值为 7 天。

更多细节请参考苹果文档:timeoutInterval, timeoutIntervalForRequest and timeoutIntervalForResource