Альтернатива команды пинг - Visual Basic .NET
Формулировка задачи:
Всем привет!
Нужно проверять доступность хоста в локальной сети при этом не использовать пинг(ICMP).
Как-то давно видел пример кода и кажется это была именно альтернатива пингу. Но вот не могу найти битую неделю =(
Может кто подскажет как еще можно проверить доступность хоста, при это с выставлением таймаута, чтобы долго не ожидать ответа?
Заранее спасибо за любую помощь!
причина этого нуждика описана вот здесь
Решение задачи: «Альтернатива команды пинг»
textual
Листинг программы
Function checkIPExist(ByVal addr As String, ByVal por As String, ByVal tim As Double) As Boolean ' addr - ip адрес или сетевое имя ' por - номер порта ' tim - время ожидания отклика в секундах Dim ipor As Integer ipor = CInt(por) Dim HostExist As Boolean = False Dim tcpClient = New Net.Sockets.TcpClient Dim ar = tcpClient.BeginConnect(addr, por, Nothing, Nothing) Try If Not ar.AsyncWaitHandle.WaitOne(TimeSpan.FromSeconds(tim), False) Then tcpClient.Close() 'MsgBox("offline") HostExist = False Else tcpClient.EndConnect(ar) tcpClient.Close() 'MsgBox("online") End If Catch ex As Net.Sockets.SocketException If ex.ErrorCode = 10061 Then HostExist = True End If ' MsgBox("offline" & vbNewLine & ex.Message) Catch ex As Exception ' MsgBox("offline" & vbNewLine & ex.Message) End Try ar.AsyncWaitHandle.Close() Return HostExist End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д