As you may or may not know I think pinging "something" to determine whether or not to do something is wrong. An example would be ping a mail server, if the ping is good then send the mail. At best it is naive. If you want to discuss it or have an example of when it is better, I'll be glad to.

So yesterday I was involved in another debate and this morning I got up and put together some code that addresses this issue. The code, with sample app can be found here. It runs on XP, and later today I will test with Windows 7.

http://www.vbforums.com/showthread.php?t=608575

What the app does is attempt to find where you meet the internet. When you ping some far distant host, say www.yahoo.com, and get successful replies the internet is up. When unsuccessful is it yahoo, your ISP, or some other ISP along the route.

More importantly do you care if it is beyond your ISP? You can't do anything about it. I think what most of us really want is to know that we can get to our ISP.

So that is what the app does. It basically does a traceroute until it finds the edge, where you meet the internet. From then on it only pings to that address.

So give it a try, let me know what you think.