设置体后如何设置NSMutableRequest超时不到240秒?

时间:2011-10-17 13:24:19

标签: iphone ios nsconnection

我正在创建NSMutableRequest并向body添加数据。以下是我如何做的例子:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:stringURL] 
                                                           cachePolicy:NSURLRequestReloadIgnoringLocalCacheData 
                                                       timeoutInterval:230.0];
    NSLog(@"Time out interval: %f", request.timeoutInterval); >> Output: 230

    [request setHTTPBody:[body dataUsingEncoding:NSUTF8StringEncoding]];

    NSLog(@"Time out interval: %f", request.timeoutInterval); >> Output: 240
    [request setTimeoutInterval:230];
    NSLog(@"Time out interval: %f", request.timeoutInterval); >> Output: 240

创建后请求超时为230。 我设置身体后它是240。 在我将其重置为230之后。它仍然是240.超时值不会改变,除非我把它设置得更大?

任何人都知道为什么会这样吗?如何使超时间隔小于240秒?

1 个答案:

答案 0 :(得分:1)

在iOS上你不能以这种方式指定超过240秒的超时(因为iPhone可以在慢速连接上运行)。有关详情,请查看:https://devforums.apple.com/message/108292#108292

如果你真的需要更短的超时,你可以使用NSTimer。 在这种情况下,只需记住使用异步请求,这可以很容易地取消。