In Windows (Vista und höher) gibt es einen Weg, oder ein Werkzeug, das bestimmen kann, ob eine bestehende, bereits bestehende, ausgehende TCP-Verbindung mit dem SO_KEEPALIVE erstellt wurde Möglichkeit.Ermitteln, ob bestehende Verbindungen TCP KeepAlive unter Windows verwenden
Auf Unix-Plattformen kann dies normalerweise mit netstat angezeigt werden (dh. Netstat -o zeigt eine separate Spalte für KEEPALIVE).
Netstat unter Windows verfügt nicht über diese Funktion. Noch andere Microsoft/SysInternals Netzwerk-Tools, die ich getestet habe.
Ich bin nicht in der Lage, ein Werkzeug zu finden, das diese Informationen bereitstellen kann.
Szenario ist: Für Anwendungen, die auf einem Windows 2008 R2-Server ausgeführt werden, muss TCP-Keepalive für alle eingerichteten Verbindungen aktiviert sein. Einige Anwendungen haben nicht die Option, TCP-Keepalive zu aktivieren, und ich muss feststellen, ob sie für diese Anwendungen standardmäßig aktiviert ist.
Um es klar zu sagen: Ich brauche ein Tool oder Vorschläge zur Programmierung eines Tools, das zeigt, ob bestehende Winsock-Verbindungen TCP Keepalive aktiviert haben oder nicht. Zwar gibt es andere Möglichkeiten, dies zu ermitteln (z. B. den Datenverkehr zu überwachen und zu überprüfen, ob Keep-Alive-Pakete gesendet werden), aber sie sind alle mit Unsicherheiten behaftet. Außerdem sprechen wir von vielen Servern und vielen Anwendungen.