Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone NSURLConnection忽略保持活动超时?_Iphone_Ios_Nsurlconnection_Keep Alive - Fatal编程技术网

Iphone NSURLConnection忽略保持活动超时?

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来实现这一点。您有

我正在将我的应用程序转换为使用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:这不是固定的。