vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Code 3 
Autor: Drapondur
Datum: 26.05.06 15:58

        Public Shared Function PingHost(ByVal ip As Net.IPAddress, ByVal _
          numPackets As Short, ByVal packetSize%, ByVal timeOut%, Optional _
          ByRef msg$ = "") As Boolean
            Dim WSAD As WSADATA
            'Socket intialisieren
            If WSAStartup(WS_VERSION_REQD, WSAD) <> ICMP_SUCCESS Then
                msg = "WinSock Error"
                Return False
            End If
            Try
                Dim hIcmp As Integer
                Dim lAddress As Integer
                Dim lTimeOut As Integer
                Dim StringToSend As String
                'Short string of data to send
                StringToSend = "hello"
 
                'ICMP (ping) timeout
                lTimeOut = timeOut 'ms
 
                'Convert string address to a long representation.
                Dim bytes As Byte() = ip.GetAddressBytes
                lAddress = BitConverter.ToInt32(bytes, 0)
                If (lAddress <> -1) And (lAddress <> 0) Then
                    'Create the handle for ICMP requests.
                    hIcmp = IcmpCreateFile()
                    If hIcmp <> 0 Then
                        'Ping the destination IP address.
                        Dim reply As ICMP_ECHO_REPLY
                        Call IcmpSendEcho(hIcmp, lAddress, StringToSend, _
                          StringToSend.Length, 0, reply, Len(reply), lTimeOut)
                        'Close the Icmp handle.
                        IcmpCloseHandle(hIcmp)
                        'Reply status
                        PingHost = (reply.Status = ICMP_SUCCESS)
                        msg = EvaluatePingResponse(reply.Status)
                    Else
                        msg = "failure opening icmp handle."
                    End If
                Else
                    msg = "Inval addr"
                    Return False
                End If
            Catch ex As Exception
                Debug.WriteLine(ex.ToString)
                msg = ex.ToString
            Finally
                WSACleanup()
            End Try
 
 
        End Function
 
        Private Shared Function EvaluatePingResponse(ByRef PingResponse As _
          Integer) As String
 
            Select Case PingResponse
 
                Case ICMP_SUCCESS : EvaluatePingResponse = "Success!"
 
                Case ICMP_STATUS_BUFFER_TO_SMALL : EvaluatePingResponse = _
                  "Buffer Too Small"
                Case ICMP_STATUS_DESTINATION_NET_UNREACH : EvaluatePingResponse _
                = "Destination Net Unreachable"
                Case ICMP_STATUS_DESTINATION_HOST_UNREACH : _
                EvaluatePingResponse = "Destination Host Unreachable"
                Case ICMP_STATUS_DESTINATION_PROTOCOL_UNREACH : _
                EvaluatePingResponse = "Destination Protocol Unreachable"
                Case ICMP_STATUS_DESTINATION_PORT_UNREACH : _
                EvaluatePingResponse = "Destination Port Unreachable"
                Case ICMP_STATUS_NO_RESOURCE : EvaluatePingResponse = "No" & _
                "Resources"
                Case ICMP_STATUS_BAD_OPTION : EvaluatePingResponse = "Bad" & _
                "Option"
                Case ICMP_STATUS_HARDWARE_ERROR : EvaluatePingResponse = _
                "Hardware Error"
                Case ICMP_STATUS_LARGE_PACKET : EvaluatePingResponse = "Packet" & _
                "Too Big"
                Case ICMP_STATUS_REQUEST_TIMED_OUT : EvaluatePingResponse = _
                "Request Timed Out"
                Case ICMP_STATUS_BAD_REQUEST : EvaluatePingResponse = "Bad" & _
                "Request"
                Case ICMP_STATUS_BAD_ROUTE : EvaluatePingResponse = "Bad Route"
                Case ICMP_STATUS_TTL_EXPIRED_TRANSIT : EvaluatePingResponse = _
                  "TimeToLive Expired Transit"
                Case ICMP_STATUS_TTL_EXPIRED_REASSEMBLY : EvaluatePingResponse _
                = "TimeToLive Expired Reassembly"
                Case ICMP_STATUS_PARAMETER : EvaluatePingResponse = "Parameter" & _
                "Problem"
                Case ICMP_STATUS_SOURCE_QUENCH : EvaluatePingResponse = "Source" & _
                "Quench"
                Case ICMP_STATUS_OPTION_TOO_BIG : EvaluatePingResponse = _
                "Option Too Big"
                Case ICMP_STATUS_BAD_DESTINATION : EvaluatePingResponse = "Bad" & _
                "Destination"
                Case ICMP_STATUS_NEGOTIATING_IPSEC : EvaluatePingResponse = _
                "Negotiating IPSEC"
                Case ICMP_STATUS_GENERAL_FAILURE : EvaluatePingResponse = _
                "General Failure"
 
 
                Case Else : EvaluatePingResponse = "Unknown Response"
 
            End Select
 
        End Function
 
    End Class
 
End Namespace
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Server Online?1.546.NET Anfänger23.05.06 20:55
Re: Server Online?1.140Maywood24.05.06 12:26
Re: Server Online?1.029Florian Bayer24.05.06 14:56
Re: Server Online?1.138Maywood26.05.06 12:49
Re: Server Online?1.297Drapondur26.05.06 14:14
Code 11.206Drapondur26.05.06 15:56
Code 21.157Drapondur26.05.06 15:58
Code 31.077Drapondur26.05.06 15:58
Re: Code 31.031Maywood28.05.06 13:57
Re: Code 3983Drapondur28.05.06 19:27
Re: Code 31.114Maywood28.05.06 20:07
Re: Code 31.157Drapondur28.05.06 21:04
Code Download1.069Drapondur28.05.06 22:49
Re: Code 31.020Maywood29.05.06 13:06
Re: Code 31.019Drapondur29.05.06 15:09
Re: Code 31.018Maywood30.05.06 21:27

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel