NSMutableRequest 和 NSURLConnection 的最大超时时间
Posted
技术标签:
【中文标题】NSMutableRequest 和 NSURLConnection 的最大超时时间【英文标题】:Maximum timeOut for NSMutableRequest & NSURLConnection 【发布时间】:2012-06-15 11:57:16 【问题描述】:我可以在我的应用程序中使用的最大超时间隔是多少。我正在使用以下方法。
(id)initWithURL:(NSURL *)URL cachePolicy:(NSURLRequestCachePolicy)cachePolicy timeoutInterval:(NSTimeInterval)timeoutInterval;
我正在使用 GET 方法。
谢谢
【问题讨论】:
我不确定是否有最大值。只需尝试 9999999 的 URL 没有响应,一步一步,然后检查是否存在最大值... 为什么你需要一个非常大的超时时间,就用 300 之类的东西 【参考方案1】:NSTimeInterval
数据类型是 double 数据类型的 typedef,因此支持的最大超时值是 double 数据类型的最大值。
【讨论】:
【参考方案2】:我认为您应该考虑到 HTTP 使用 TCP。 TCP 连接不仅由您的应用程序控制,在您的应用程序和服务器之间还有许多路由器和防火墙。
我查看了典型的防火墙文档,只是为了了解 TCP 连接的默认超时时间。
对于思科来说是一小时。
http://www.cisco.com/c/en/us/td/docs/security/asa/asa91/configuration/firewall/asa_91_firewall_config/conns_connlimits.html#42354
因此,在决定最大连接超时时间时,也许您应该考虑这些信息。
另请参阅此处的第 5.5 节:https://www.rfc-editor.org/rfc/rfc6202 他们声称最佳做法是 30 秒。
【讨论】:
以上是关于NSMutableRequest 和 NSURLConnection 的最大超时时间的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 NSURLConnection (NSMutableRequest) 超时
无法使用类型的参数列表调用“dataTask”(使用:NSMutableRequest,...)
对 NSMutableRequest 的 PHP Json 请求!帮助?