Ich versuche Mark Russinovich SysInternals PsPing tool in C# zu implementieren Latenzen mit TCP-Ping zu messen.Wie zu implementieren PsPing TCP-Ping in C#
Ich bin mir nicht sicher, wie es den Ping-Aufruf (anscheinend keine rohen Window-Sockets verwendet, da es keine Administratorrechte zum Ausführen benötigt). Ich weiß, hping
sendet SYN-Paket über TCP und misst Antwortzeit.
Was wäre die Implementierungstechnik für die genaue Messung der Serverlatenz, die über TCP nicht die Seitenladezeiten, sondern nur die Netzwerklatenz für die Paketbestätigung misst? Gibt es dafür eine Bibliothek?
C:\>psping stackoverflow.com:80
PsPing v2.01 - PsPing - ping, latency, bandwidth measurement utility
Copyright (C) 2012-2014 Mark Russinovich
Sysinternals - www.sysinternals.com
Pinging 198.252.206.16 with 32 bytes of data:
5 iterations (warmup 1) ping test:
Reply from 198.252.206.16: 81.57ms
Reply from 198.252.206.16: 80.81ms
Reply from 198.252.206.16: 80.68ms
Reply from 198.252.206.16: 80.52ms
Reply from 198.252.206.16: 80.71ms
Ping statistics for 198.252.206.16:
Sent = 4, Received = 4, Lost = 0 (0% loss),
Minimum = 80.52ms, Maximum = 80.81ms, Average = 80.68ms
Update: Bitte antworten Sie nicht wie „warum Sie nicht Ping-Klasse verwenden, ist es bereits tut das Ding“, wie ich über Ping über TCP bin gefragt, nicht ICMP.
Viele Sysinternals-Tools verwenden nicht dokumentierte Systemaufrufe. Es ist unwahrscheinlich, dass Sie eine leicht zu verweisende Quelle finden, die sagt, wie es funktioniert, ganz zu schweigen davon, wie Sie das Gleiche mit C# tun können. –
@ScottChamberlain nur ausprobieren vielleicht gibt es eine Methode, die ich nicht kenne. –
@ahmetalpbalkan: Was ist mit Ping-Klasse, mit der Sie einen Server oder interne IP-Ping-und Sie können die Wiedergabe Zeit bekommen? http://msdn.microsoft.com/en-us/library/system.net.networkinformation.ping%28v=vs.110%29.aspx – houssam