NSURLSession sharedSession默认超时

时间:2017-09-06 21:39:30

标签: ios cocoa-touch nsurlsession

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

我正在做一些调试,这些信息非常有帮助。

修改

显然我的问题不明确(!)。我不是问如何更改超时。我在问默认是什么。所以这不是重复。

2 个答案:

答案 0 :(得分:11)

网址会话有两次超时。第一个是接收新数据之间允许的最长时间。这称为timeoutIntervalForRequest。第二个是允许整个请求的最长时间(假设它经常接收新数据)。这称为timeoutIntervalForResource

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

默认timeoutIntervalForRequest为60秒。

默认timeoutIntervalForResource为7天。

答案 1 :(得分:0)

现在有三个超时URL会话。详细信息如下:

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

  2. timeoutIntervalForRequest-在放弃之前等待其他数据到达时使用的超时间隔。新数据到达后,将重置此值。默认值为60。

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

有关更多详细信息,请参阅Apple文档:timeoutIntervaltimeoutIntervalForRequesttimeoutIntervalForResource