我有下一个代码:
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”的用途是什么?如果有一些方法限制等待一个响应的时间?
谢谢!
答案 0 :(得分:0)
你怎么知道请求首先开始?您可能正在等待从未开始的请求的响应。
您似乎没有测试theConnection
被设置为nil
。如果内存不足,theRequest
和url
也可能是nil
。