Benutzer mit den meisten Antworten
Ping mit Ausgabe ala Dosfenster Ping

Frage
-
Hallo,ich führe mit folgenden Befehlen einen Ping aus. Ich möchte jetzt aber eine Ausgabe (siehe unten) wie man sie sonst in einem Dosfenster hat. Wie mache ich das.
Dim pingSender As New Ping()
Dim options As New PingOptions()
options.DontFragment = True
' Create a buffer of 32 bytes of data to be transmitted.
Dim data As String = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Dim buffer As Byte() = Encoding.ASCII.GetBytes(data)
Dim timeout As Integer = 120
Dim reply As PingReply = pingSender.Send("192.168.2.1", timeout, buffer, options)
If reply.Status = IPStatus.Success Then
Console.WriteLine("Address: {0}", reply.Address.ToString())
Console.WriteLine("RoundTrip time: {0}", reply.RoundtripTime)
Console.WriteLine("Time to live: {0}", reply.Options.Ttl)
Console.WriteLine("Don't fragment: {0}", reply.Options.DontFragment)
Console.WriteLine("Buffer size: {0}", reply.Buffer.Length)
End If
Ping wird ausgeführt für 192.168.2.1 mit 32 Bytes Daten:
Antwort von 192.168.2.1: Bytes=32 Zeit=2ms TTL=64
Antwort von 192.168.2.1: Bytes=32 Zeit=2ms TTL=64
Antwort von 192.168.2.1: Bytes=32 Zeit=2ms TTL=64
Antwort von 192.168.2.1: Bytes=32 Zeit=2ms TTL=64Ping-Statistik für 192.168.2.1:
Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
(0% Verlust),
Ca. Zeitangaben in Millisek.:
Minimum = 2ms, Maximum = 2ms, Mittelwert = 2ms
Antworten
-
Hallo,
eigentlich ist das nur die Formatierung in der Konsole:Dim pingSender As New Ping() Dim options As New PingOptions() options.DontFragment = True ' Create a buffer of 32 bytes of data to be transmitted.' Dim data As String = "01234567012345670123456701234567" Dim buffer As Byte() = Encoding.ASCII.GetBytes(data) Dim timeout As Integer = 120 Dim address = "173.194.112.24" Console.WriteLine("Ping wird ausgeführt für " & address & "mit " & buffer.Length & "Bytes Daten:") For i As Integer = 0 To 3 '4mal wiederhohlen' Dim reply As PingReply = pingSender.Send(address, timeout, buffer, options) If reply.Status = IPStatus.Success Then Console.WriteLine("Antwort von " & reply.Address.ToString() & ": Bytes=" & buffer.Length & " Zeit=" & reply.RoundtripTime & "ms TTL=" & reply.Options.Ttl) ElseIf reply.Status = IPStatus.TimedOut Then Console.WriteLine("Timeout") Else'Am besten noch weiter auseinander nehmen' Console.WriteLine("Sonstiger Fehler") End If Next
Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite |
Code Beispiele |
Facebook |
Twitter |
Snippets
C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.- Bearbeitet Tom Lambert (Koopakiller)Moderator Mittwoch, 12. März 2014 20:45
- Als Antwort vorgeschlagen Ionut DumaModerator Mittwoch, 19. März 2014 16:26
- Als Antwort markiert Tom Lambert (Koopakiller)Moderator Freitag, 21. März 2014 17:46
Alle Antworten
-
Hallo,
eigentlich ist das nur die Formatierung in der Konsole:Dim pingSender As New Ping() Dim options As New PingOptions() options.DontFragment = True ' Create a buffer of 32 bytes of data to be transmitted.' Dim data As String = "01234567012345670123456701234567" Dim buffer As Byte() = Encoding.ASCII.GetBytes(data) Dim timeout As Integer = 120 Dim address = "173.194.112.24" Console.WriteLine("Ping wird ausgeführt für " & address & "mit " & buffer.Length & "Bytes Daten:") For i As Integer = 0 To 3 '4mal wiederhohlen' Dim reply As PingReply = pingSender.Send(address, timeout, buffer, options) If reply.Status = IPStatus.Success Then Console.WriteLine("Antwort von " & reply.Address.ToString() & ": Bytes=" & buffer.Length & " Zeit=" & reply.RoundtripTime & "ms TTL=" & reply.Options.Ttl) ElseIf reply.Status = IPStatus.TimedOut Then Console.WriteLine("Timeout") Else'Am besten noch weiter auseinander nehmen' Console.WriteLine("Sonstiger Fehler") End If Next
Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite |
Code Beispiele |
Facebook |
Twitter |
Snippets
C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.- Bearbeitet Tom Lambert (Koopakiller)Moderator Mittwoch, 12. März 2014 20:45
- Als Antwort vorgeschlagen Ionut DumaModerator Mittwoch, 19. März 2014 16:26
- Als Antwort markiert Tom Lambert (Koopakiller)Moderator Freitag, 21. März 2014 17:46
-
Hallo Thomas,
Hast Du Koopakillers Loesung ausprobiert?
Gruss,
Ionut
Ionut Duma, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip„Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
-
Hallo,
in dem Fall kannst du einfach alles beim senden der Pings mitzählen und zum Schluss auswerten:Dim pingSender As New Ping() Dim options As New PingOptions() options.DontFragment = True ' Create a buffer of 32 bytes of data to be transmitted.' Dim data As String = "01234567012345670123456701234567" Dim buffer As Byte() = Encoding.ASCII.GetBytes(data) Dim timeout As Integer = 120 Dim address = "173.194.112.24" Dim sended As Integer = 0 Dim received As Integer = 0 Dim lost As Integer = 0 Dim times As New List(Of Long) Console.WriteLine() Console.WriteLine("Ping wird ausgeführt für " & address & "mit " & buffer.Length & "Bytes Daten:") For i As Integer = 0 To 3 '4mal wiederhohlen' Dim reply As PingReply = pingSender.Send(address, timeout, buffer, options) If reply.Status = IPStatus.Success Then Console.WriteLine("Antwort von " & reply.Address.ToString() & ": Bytes=" & buffer.Length & " Zeit=" & reply.RoundtripTime & "ms TTL=" & reply.Options.Ttl) received += 1 '1 Paket empfangen' Else lost += 1 '1 Paket verloren' If reply.Status = IPStatus.TimedOut Then Console.WriteLine("Timeout") Else 'Am besten noch weiter auseinander nehmen' Console.WriteLine("Sonstiger Fehler") End If End If sended += 1 '1 neues Paket wurden gesendet' times.Add(reply.RoundtripTime) 'Vergangene Zeit bei dem Ping' Threading.Thread.Sleep(200) 'Kurze Zeit warten, macht ping.exe auch - dadurch werden scheinbar timeouts verhindert' Next 'Nachfolgend die Auswertung' Console.WriteLine() Console.WriteLine("Ping-Statistik für " & address & ":") Console.WriteLine(" Pakete: Gesendet = " & sended & ", Empfangen = " & received & ", Verloren = " & lost) Console.WriteLine(" (" & CInt(100D / sended * lost) & "% Verlust)") Console.WriteLine("Ca. Zeitangaben in Millisek.:") Console.WriteLine(" Minimum = " & times.Min() & "ms, Maximum = " & times.Max() & "ms, Mittelwert = " & CInt(times.Sum() / times.Count) & "ms") 'Mit den Erweiterungsmethoden aus System.Linq geht es am schnellsten' Console.WriteLine()
Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite |
Code Beispiele |
Facebook |
Twitter |
Snippets
C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.