• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 301
  • Last Modified:

Ping a website and check internet connection

i have created a function that runs on my desktop that checks my website is up every 1/2 hour
The ping works very fast,and pouts the results in a listbox but now i want to check to be sure my internet connection is valid before the ping.The problem I have run into is the checking the internet connection takes a couple seconds.
 How can i make the ping wait until the internet connection is done and results entered into a list box ?
0
isnoend2001
Asked:
isnoend2001
  • 4
  • 3
1 Solution
 
SStoryCommented:
Something like this should work:

Module Module1
    'add as many known sites as you wish; those that are pingable if the internet is up
    Private InternetSites() As String = {"www.foxnews.com", "www.google.com", "www.yahoo.com", "www.expedia.com"}
    Const MAX_FAILURES_TO_PROVE_DOWN As Byte = 3

    Sub Main()
        If My.Computer.Network.IsAvailable Then
            If InternetIsReachable() Then
                'DO YOUR STUFF HERE
            End If
        End If
    End Sub

    Private Function InternetIsReachable() As Boolean
        Dim FailureCount As Short = 0

        For Each Site As String In InternetSites
            If My.Computer.Network.Ping(Site) Then
                Return True
            Else
                FailureCount += 1
            End If

            If FailureCount > MAX_FAILURES_TO_PROVE_DOWN Then
                Return False
            End If
        Next

        Return False
    End Function
End Module

Open in new window


I haven't tested it yet and you'll need to use it from a Win form if you want a listbox.
0
 
isnoend2001Author Commented:
thanks  SStory
Don't need code to check the connection. only to wait until the check is done before the ping
0
 
SStoryCommented:
My code will not return for your ping until it has checked.
I don't see the problem. You call it and it will try and try and until it gives a pass or fail. If it passes you can ping.
0
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
isnoend2001Author Commented:
I want to know why the Ping has failed.
If i unplug from the internet and check if connected it takes a few seconds to time out
During that time it tries to ping which fails. Then I cannot determine why the ping fails.

I am testing some other code now:

While mConnectionCheckDone = False
  DoEvents
    DoEvents
    Sleep (55)
Wend
mConnectionCheckDone = False
0
 
SStoryCommented:
That is NOT what you asked for.  Here is your quote
How can i make the ping wait until the internet connection is done and results entered into a list box

Checking for an Internet connection will take as long as you want to allow for a timeout when pinging something.
0
 
isnoend2001Author Commented:
Thanks
0
 
SStoryCommented:
Other good ideas here.
http://stackoverflow.com/questions/1085045/check-whether-internet-connection-is-available-with-c-sharp

DNS lookup, then download a known txt file.

As to where it fails you would need to do a tracert

That means see if your LAN interface is up, then ping LAN side of your router(s) and each hop until you ping a website.  Wherever it fails is where to look.
Basically ICMP protocol.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now