NSURLConnection超时?

时间:2009-09-15 00:51:44

标签: iphone timeout nsurlconnection

我正在将这个NSURLConnection与代表一起使用。

nsconnection = [[NSURLConnection alloc] initWithRequest:request
    delegate:self startImmediately:YES];

问题是网站根本没有回应。没什么,只是在浏览器中旋转空白页面,没有失败。在我的代表中,我处理失败,但当网站没有响应时,代表不会被调用。关于如何超时连接的任何想法?

2 个答案:

答案 0 :(得分:127)

您可以在NSURLRequest对象中指定超时。一种方法是通过requestWithURL:cachePolicy:timeoutInterval:方法构建它。 (如果您不想担心该部分,可以传入默认的NSURLRequestUseProtocolCachePolicy cachePolicy参数。)超时是一个以秒为单位的浮点值,基本上是iPhone SDK中的所有时间间隔。 / p>

还要确保您的NSURLConnection委托已设置并响应connection:didFailWithError:方法。连接总是在连接完成时调用此方法或connectionDidFinishLoading:

答案 1 :(得分:24)

修改:此答案现已过时,但在回答之日是准确的。

我知道这个帖子已经老了,但我也遇到了这个问题。在服务所在的内部网络之外测试应用程序时会发生这种情况。该服务最终会超时,但Apple会在超时发生前指定240秒(4分钟)的时间。查看此主题以获取有关此事的更多信息。

NSMutableURLRequest not obeying my timeoutInterval