OK, What I am trying is a very basic "Ping" but it seems to ignore the timeout value I set in the ping.send overload...

vb.net Code:
  1. Imports System.Net
  2. Imports System.Net.NetworkInformation
  3.  
  4. Dim ping As New Ping
  5. Dim intTimeout As Integer = 200
  6. Dim reply as PingReply = ping.Send("192.168.12.200", intTimeout)
  7. Dim q As Integer = reply.RoundtripTime
  8. Console.WriteLine(q & " " & intTimeout)
  9.  
  10. Select Case reply.Status
  11.     Case IPStatus.TimedOut
  12.         Console.WriteLine(reply.Status.ToString)
  13.     Case IPStatus.Success
  14.         Console.WriteLine("Success")
  15.     Case Else
  16.         Console.WriteLine(reply.Status.ToString)
  17. End Select

That should be that if it takes longer than 200ms it is classed as a "Time Out" and returns 0 for the ping time, however it replies as a success when the ping time is greater than the timeout value.

Note: the cases are there with the code snipped as they are not relevant because it always passes into the "success" category.

Any ideas? I have tried using Async pings too, but they produce the same result...

Cheers,

Stu