2009-08-26 4 views
0

у меня есть следующий код:NSURLConnection Никогда не закончить

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

Откуда вы знаете, что запрос начался в первую очередь? Возможно, вы ожидаете ответа на запрос, который никогда не запускался.

Похоже, вы не тестируете theConnection на nil. также theRequest и url также может быть nil если у вас заканчивается память.

+0

Спасибо, но я делаю журнал каждой части, и я отсканировал ее. ANYWAY Есть некоторый метод, чтобы ОГРАНИЧИТЬ время? – 2009-08-27 19:09:10

+0

Ведение журнала не было в коде, который вы вставили, поэтому не было возможности сказать, что вы записывали эти вещи из своего кода. – corydoras

Смежные вопросы