我对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秒后给出超时错误吗?
发布于 2010-08-25 16:04:01
对timeoutInterval的讨论表明,当发生加载活动的过程时,它将启动(设置为0):
超时间隔指定在加载过程中分配给请求的空闲间隔的限制。“空闲时间间隔”被定义为自加载活动的最后一个实例为加载过程中的请求发生以来所经过的时间段。因此,当发生负载活动的实例时(例如,从网络接收到请求的字节),请求的空闲间隔被重置为0。如果空闲间隔变得大于或等于超时间隔,则认为请求已超时。此超时间隔以秒为单位。
没有互联网连接是错误的。因此,如果它获得了连接,但需要更多时间来加载,那么超时实际上将在20秒(设置时间)内发生。
https://stackoverflow.com/questions/3563362
复制相似问题