NSURLConnection超时?

Jor*_*dan 62 iphone timeout nsurlconnection

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

nsconnection = [[NSURLConnection alloc] initWithRequest:request
    delegate:self startImmediately:YES];
Run Code Online (Sandbox Code Playgroud)

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

Tyl*_*ler 129

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

还要确保您NSURLConnection的委托已设置并响应该connection:didFailWithError:方法.连接始终调用此方法或connectionDidFinishLoading:连接完成时.

  • fyi,默认是60秒. (38认同)

eze*_*DFM 24

编辑:这个答案现在已经过时,但在回答之日是准确的.

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

NSMutableURLRequest不服从我的timeoutInterval

  • @stigi看起来你正在引用Mac OS的材料,而ezekielDFM正在谈论iOS. (4认同)
  • 这是错误的信息!据http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSURLRequest_Class/Reference/Reference.html%23//apple_ref/occ/cl/NSURLRequest默认的超时时间为60秒 (3认同)