2009-08-26 10 views
0

i ont le code suivant:NSURLConnection jamais finir

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]; 

Puis parfois, quand je clique sur un grand nombre de fois (Juste pour essayer où peut échouer l'application) dans mon interface dans les boutons assignés pour démarrer une nouvelle connexion, la connexion ne donne pas de réponse (j'envoie la requête mais son apparence est bloquée après). Je voudrais savoir Quelle est l'utilisation de "setTimeoutInterval"? ET s'il y a des façons de limiter le temps d'attente d'une réponse?

Merci!

Répondre

0

Comment savez-vous que la requête a commencé en premier lieu? Vous attendez peut-être une réponse à une demande qui n'a jamais démarré. Il semble que vous ne testiez pas theConnection étant nil. aussi theRequest et url pourrait également être nil si vous manquez de mémoire.

+0

Merci, mais je fais un journal de chaque partie, et je l'ai envoyé. TOUJOURS il y a une méthode pour LIMITER l'heure? –

+0

La journalisation n'était pas dans le code que vous avez collé donc il n'y avait aucun moyen de dire que vous étiez en train de vous connecter pour ces choses à partir de votre code. – corydoras

Questions connexes