We use a PHP server and an iOS app.
I use NSURLConnection to send a message to the server. If server is unavailable, e.g. the address is incorrect then we wait for an error after 60–90 secs. This is a long time.
How do I decrease this time? Is there any quick function to check for server availability?
If I first call
[request setTimeoutInterval:10];
[request setHTTPBody:[message data]];
when I check [request timeoutInterval] it is still 240, not 10. So interesting..
If I add a setTimeoutInterval: call before the connection is created like so:
[request setTimeoutInterval:10];
connection = [[NSURLConnection alloc] initWithRequest: request delegate: self];
The request still returns after a long time.
Yeah, timeouts don’t quite work like you would expect. One solution is to set up a timer that cancels the connection after your desired interval has elapsed. I did this in my ReallyRandom class, and it seems to do the trick.
It looks something like this: