Iphone NSURLConnection忽略保持活动超时?
我正在将我的应用程序转换为使用HTTPS,并希望通过保持长时间的连接来尽可能避免握手成本 从读取web和堆栈溢出的其他答案可以看出,如果服务器响应Connection:keep alive和keep alive:timeout=N,则NSURLConnection应该透明地保持底层套接字打开 然而,我发现我的连接只保持了10秒左右的开放时间。我的Keep Alive响应设置为远不止此。我也在发送连接:在我的请求头中保持活动状态 有人能解释一下吗?我真的不想使用CFNetwork来实现这一点。您有两种方法: 正如泰勒在回答中所说: 您可以在Iphone NSURLConnection忽略保持活动超时?,iphone,ios,nsurlconnection,keep-alive,Iphone,Ios,Nsurlconnection,Keep Alive,我正在将我的应用程序转换为使用HTTPS,并希望通过保持长时间的连接来尽可能避免握手成本 从读取web和堆栈溢出的其他答案可以看出,如果服务器响应Connection:keep alive和keep alive:timeout=N,则NSURLConnection应该透明地保持底层套接字打开 然而,我发现我的连接只保持了10秒左右的开放时间。我的Keep Alive响应设置为远不止此。我也在发送连接:在我的请求头中保持活动状态 有人能解释一下吗?我真的不想使用CFNetwork来实现这一点。您有
NSURLRequest
对象中指定超时。单程
这样做是通过
方法。(你可以
传入默认的NSURLRequestUseProtocolCachePolicy
cachePolicy
参数,如果您不想担心该部分。)超时为
以秒为单位的浮点值,基本上是所有时间间隔
在iphonesdk中
还要确保您的NSURLConnection
委托已设置并响应
对方法进行了修改。联系
始终调用此方法或connectiondFinishLoading:
连接完成
或者按照克里斯在回答中的建议去做:
ASIHTTPRequest具有expirePersistentConnections方法。也许可以
你在找什么
它不是NSURLConnection的替代品,但也不是太好
难以将代码从NSURLConnection移植到ASIHTTPRequest
10秒的问题在iOS7中得到了解决。我也有同样的问题,并且一直在跟踪这个bug。它在iOS 6点版本中得到了修复 未经适当归因,请勿复制他人的文字。我已经编辑了上面的内容,但请确保您以后会这样做。iOS 9.2.1:这不是固定的。