我有下一个代码:
NSURL *url = [NSURL URLWithString:@"http:...."];
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
NSString *msgLength = [NSString stringWithFormat:@"%d", [""soapMessage"" length]];
[theRequest addValue: @"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
[theRequest setHTTPMethod:@"POST"];
[theRequest setHTTPBody: [""soapMessage"" dataUsingEncoding:NSUTF8StringEncoding]];
[theRequest setTimeoutInterval:20];
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
[theConnection start];
然后有时候,当我在界面中单击分配多次以启动新连接的按钮多次(只是尝试在哪里使应用程序失败)时,该连接不会给出答复(我发送了请求,但看起来像是之后被屏蔽)。
我想知道“setTimeoutInterval”的用途是什么? ,并且是否有一些方法可以限制等待一个响应的时间?
谢谢!
最佳答案
您怎么知道请求首先开始?您可能正在等待从未开始的请求的响应。
看来您不打算将theConnection
设置为nil
。如果内存不足,theRequest
和url
也可以是nil
。
关于objective-c - NSURLConnection永不结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1337633/