I don't know the full solution, but for a start, is there a particular reason you are using a synchronous request? Use the asynchronous API and the main thread won't be locked.

On 7 Jul 2008, at 16:27, Kanny wrote:

I am still trying to find a solution to quickly resolve the web server 502 error using NSURLRequest and NSURLConnection. Right now, even if i set timeoutinterval to 5 seconds, it takes 30 seconds. But more painful thing is that during that time, it makes the app unresponsive with the beach ball spinning. Let me know your strategies to handle 502 error. I would like something like Safari, it does take time (60-90 sec) to display the error message, but it doesn't halt the user's interaction with other tabs or windows of safari.

Alternately, is there a way to specify a strict time duration for a particular action to execute and return nil if it can't.

Thanks.

-----Original Message-----
From: [EMAIL PROTECTED]
To: cocoa-dev@lists.apple.com
Sent: Sun, 6 Jul 2008 4:25 am
Subject: NSURLConnection timeoutInterval only works in multiples of 30 seconds


Hi,

I am trying to do a periodic update (every 1 minute) based on the contents of a url, but when the website is down with 5** error, I would like to not wait more than a couple of seconds. So, I wrote the following code :

url = [NSURL ...];
updateTimer = [[NSTimer scheduledTimerWithTimeInterval:60.0 target:self selector:@selector(update:)
                    userInfo:nil repeats:YES] retain];
[updateTimer fire];
-(void)update:(id)sender
{
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:5];
  NSURLResponse *urlResponse;
  NSLog(@" Before ");
NSData *urlData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&urlResponse error:&error];
  NSLog(@" After : Error = %@ ",error);
  .....
  .....
}


But when i run the app, the "After" statement with "timed out" message is logged after 30 seconds from the "Before" statement. When I set the timeoutInterval between 30.1 to 59.9, it is printed after 60 seconds and so on. I don't know how to get it to work in desired time intervals. Any help would be appreciated.

Thanks

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/cocoadev%40mikeabdullah.net

This email sent to [EMAIL PROTECTED]

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to