我知道NSMutableURLRequest有一个setTimeoutInterval方法,但是我可以将特定超时设置为到达和连接服务器所需的时间吗?
答案 0 :(得分:2)
答案 1 :(得分:1)
如果连接“空闲”的时间超过通过NSURLConnection
设置的指定持续时间,则setTimeoutInterval
将中止连接超时错误。
这意味着,如果您启动请求并且客户端到目前为止没有从服务器收到任何内容,那么在该持续时间之后,您应该在connection:didFailWithError:
内收到超时错误。
这也意味着,如果您正在发送/接收数据的连接中间,并且服务器稍后挂起并且连接变为“空闲”的时间超过指定的超时,则它也将中止连接。
每当连接有一些进展时,计时器将被重置。
到目前为止,您可以调整该行为,以便启动自己的计时器,在特定的持续时间后将cancel
发送到连接。可能您可能会监控进度并估计请求完成所需的时间,然后可能会调用取消,如果这需要很长时间。