在使用AFNetworking的过程中,发现NSURLSessionConfiguration
中有两个关于超时操作的属性timeoutIntervalForRequest
和timeoutIntervalForResource
。而在AFURLRequestSerialization
当中有一个timeoutInterval
的属性。一下子有点懵逼。
根据What is the difference between a session timeout and a connection timeout in IIS?这篇文章看到的:
Session超时,指的是当前session的生存周期长度。Session的时间单位是min,且可跨越多个连接。
Connection超时的话,指的是连接发送到服务器获取到响应的时长。通常是以秒为单位。
回到AFNetworking中:
timeoutIntervalForRequest
指的是在给定的时间内,没有数据进行传输。当数据进行传输时会自动reset
timeoutIntervalForResponse
指在给定的时间内没有获取到服务器的响应
timeoutInterval
指的是当前连接的超时时间
所以需要设置AFNetworking的超时处理的话,设置的是timeoutInterval