nsurlconnection超时问题

时间:2010-08-25 06:33:06

标签: iphone timeout nsurlconnection

我对NSURLConnection有一个奇怪的问题。我已经将连接时间设置为20秒。

NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:20.0];
NSURLConnection *con= [[NSURLConnection alloc] initWithRequest:request delegate:self];

我也正在为NSURLConnection实现委托方法。

现在,当我运行应用程序时,连接在20秒后没有超时,但是在2-3分钟之后,它给出了“没有互联网连接”的错误。是不是应该在20秒后发出超时错误?

1 个答案:

答案 0 :(得分:2)

对timeoutInterval的讨论表明,当发生加载活动的过程时,它会启动(设置为0):

  

超时间隔指定   限制空闲       在加载过程中分配给一个请求的间隔。 “闲着       interval“定义为自...以来经过的时间段       最后一个加载活动实例发生在       装货过程。因此,当发生加载活动的实例时       (例如,从网络接收请求的字节),空闲       请求的间隔重置为0.如果空闲间隔有       变为大于或等于超时间隔,请求       被认为已超时。测量此超时间隔       在几秒钟内。

没有互联网连接是错误的。因此,如果获得连接但是需要更多时间来加载,超时实际上可能在20秒(设定时间)内发生......