的NSURLRequest超时IOS(NSURLRequest Timeout IOS)

2019-06-26 14:50发布

我需要设置超时15秒或UIRequest 30秒,但它始终以默认的。 有没有什么办法来最小超时设置为连接。

Answer 1:

这样的回答解释了有关的最小值timeoutInterval的的NSURLRequest对象。 如果你需要一个更小的值,那么你可能与期望的时间和定时器的烧制方法启动一个NSTimer做到这一点,您取消NSURLConnection的对象的连接。 如:

//....
connection = [[NSURLConnection connectionWithRequest:request delegate:self] retain];
[request release];

[connection start];

if (timer == NULL) {

    timer = [NSTimer scheduledTimerWithTimeInterval: TimeOutSecond
                                             target: self
                                           selector: @selector(cancelURLConnection:)
                                           userInfo: nil 
                                            repeats: NO];
    [timer retain];
}


- (void)cancelURLConnection:(NSTimer *)timerP {
    [connection cancel]; //NSURLConnection object
    NSLog(@"Connection timeout.");
    [timer invalidate];
}


Answer 2:

似乎有与设置在施工时间超时间隔属性问题:

NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:url] cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:240.0];

相反,将其设置施工后:

request.timeoutInterval = 70;

还要注意,似乎是可以有多低间隔一定的局限性。 阅读此篇了解更多信息: https://devforums.apple.com/message/108087#108087



Answer 3:

POST请求有一个超时最低是4分钟,我相信。 最安全的方法是开始NSTimer和取消请求超时时触发。



文章来源: NSURLRequest Timeout IOS