Взял вот здесь:
пинать tcp порты. Если открывается возвращает True, если нет, то False. Можно из неё отличный мониторинг сделать по-моему.
Dim ipa As IPAddress = CType(Dns.GetHostAddresses(hostname)(0), IPAddress)
Try
Dim sock As Socket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
Dim sock As Socket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
sock.Connect(ipa, portnum)
If (sock.Connected = True) Then
sock.Close()If (sock.Connected = True) Then
sock = Nothing
Return True
End If
Catch sx As SocketException
If sx.ErrorCode = 10061 Then
Return False
Else
Return Nothing
End If
End Try
End Function