在使用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