Re: NSURLConnection how to handle 502 error
Re: NSURLConnection how to handle 502 error
- Subject: Re: NSURLConnection how to handle 502 error
- From: Scott Tury <email@hidden>
- Date: Mon, 07 Jul 2008 14:06:30 -0400
Kanny,
On Jul 7, 2008, at 1:37 PM, email@hidden 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.
It sounds from your description that you are doing a synchronous
request on your applications' main thread. Modifying your code to
not make the synchronous request will enable you to avoid locking out
the UI interaction from the user. This sounds like your biggest issue.
So instead of something lie this:
NSURLResponse *urlResponse = nil;
NSError *error = nil;
NSData* data = [NSURLConnection sendSynchronousRequest:myRequest
returningResponse:&urlResponse error:&error];
You would in modify the code to specify a delegate object (in this
example the current object), and create an asynchronous connection:
NSURLConnection* urlConnection = [[NSURLConnection alloc]
initWithRequest:urlRequest delegate:self startImmediately:YES];
Now the request will be scheduled on the main event loop, and you
won't tie up the UI. Your delegate object will be called when you
have data or other information about the connection you have attempted
to have open.
Scott
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden