0

我知道 NSMutableURLRequest 有一个 setTimeoutInterval 方法,但是我可以将特定的超时设置为到达并连接到服务器所需的时间吗?

4

2 回答 2

2

不,你不能。超时是我们期望服务器回复的时间。我们不知道连接服务器的时间以及服务器回复的时间。

于 2013-06-23T17:30:52.000 回答
1

如果连接“空闲”的时间超过通过设置的指定持续时间, ANSURLConnection将中止连接并出现超时错误setTimeoutInterval

这意味着,如果您启动一个请求并且客户端到目前为止没有从服务器收到任何内容,那么您应该connection:didFailWithError:在该持续时间之后收到超时错误。

这也意味着,如果您正在发送/接收数据的连接中间,并且服务器稍后挂起并且连接变为“空闲”的时间超过指定的超时时间,它也会中止连接。

每当连接有一些进展时,计时器将被重置。

到目前为止,您可以调整该行为,以便您启动自己的计时器,该计时器cancel在特定持续时间后发送到连接。可能您可以监控进度并估计完成请求需要多长时间,然后如果需要很长时间,可能会调用取消。

于 2013-06-24T06:36:40.553 回答