testing for Internet connection

Alex Tweedly alex at tweedly.net
Sun Dec 19 15:55:36 EST 2004


At 14:01 19/12/2004 -0600, Chipp Walters wrote:

>Alex,
>
>You are correct in that if Dns is down then my function will return false, 
>exactly how I wish it to work.

I agree that's what you need it to do. The problem is that in some 
circumstances (such as the one I described earlier), it won't respond AT 
ALL for about 30 seconds. During that time, the app will be completely 
non-responsive - doesn't make a good impression on users. If a user gets 
tired of waiting for this unresponsive app, and clicks on the close button, 
she'll get the Windows error "app is not responding - do you want to 
terminate it".

>All my apps connect to domains, not IPaddresses, so a positive connecting 
>to an IPaddress wouldn't explain to my users why they cannot connect to a 
>domain.

>Perhaps a combination ping then get url may suffice.

That's what I was suggesting. A ping (to numeric IP) to verify that a 
logical route to the internet exists - followed by a get URL - ideally to 
the host/domain that the app needs to connect to, or failing that get URL 
to a well-known, well-connected, safe server (google, yahoo, akamai, cisco, 
or some such).

If the ping fails, there is no connectivity to the internet (and your app 
remains responsive).
If the ping succeeds, you still want to check DNS and general routing 
before you declare success.

If you can get URL from google, but not from the server the app needs, how 
does that get reported to the user ?  Seems to me most users don't need to 
(or want to) distinguish between those two cases, so the only thing that 
really matters is successful communication with the server the app needs to 
talk to.

>I've over 10 apps testing with google, with no problems so far. I imagine 
>google can withstand a dos better than my servers.

Yeah, Google have been off the air for around 18 hours in the last 4 years 
- so it's not a major problem :-)  But if the app won't do anything useful 
without contact to your own app - why not just test that directly. Having a 
tiny html file (assuming you need to serve html anyway) is almost no cost, 
and will give the client apps exactly the info they need.

-- Alex.


More information about the use-livecode mailing list