2009-10-13 13 views
0

Je développe une application iPhone dans laquelle je charge beaucoup de données à partir d'un autre serveur via des services Web. Je souhaite avoir lu quelque part dans les guides Apple que pour les applications réseau, vous devez définir le délai d'expiration du réseau et après que vous avez alerter l'utilisateur pour le même que "Le réseau n'est pas disponible".définir le délai d'expiration réseau et l'exception dans l'iPhone

Comment puis-je le faire?

Répondre

2

Voici l'exemple de code pour appeler le service Web avec l'installation de request-timeout = 20. S'il ne répond pas dans le délai 20, il arrêtera de se connecter et nous obtiendrons une donnée nulle.

NSString* str = [NSString stringWithFormat:@"http://ws.geonames.org/findNearbyPostalCodes?lat=%f&lng=%f",curr_latitude,curr_longitude]; 
NSMutableURLRequest* request2=[NSMutableURLRequest requestWithURL:[NSURL URLWithString:str]]; 
[request2 setHTTPMethod:@"POST"]; 
[request2 setTimeoutInterval:20]; 
NSURLResponse *response=nil; 
NSError *err=nil; 
NSData *data1=[[NSURLConnection sendSynchronousRequest:request2 returningResponse:&response error:&err] retain]; 
if(data1 == nil) 
{ 
    UIAlertView* alert = [[UIAlertView alloc]initWithTitle:@"Alert" message:@"The network is not available.\n Please check the Internet connection." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
    [alert show]; 
    [alert release]; 

} 
    else 
    { 
     // It will store all data to data1 
     // Here you can proceed with data1 
    }