TIME_WAIT TCP Connections

· Funktionen

Initiiert ein Client das Trennen vom Server, findet zwischen Client und Server ein Austausch über den Trennungsstatus statt. Nach Abschluss des Vorgangs verbleibt die Client-Socket-Verbindung für eine variable Zeit im Zustand TIME_WAIT. Das ist ein normales Verhalten - unter Windows-Betriebssystemen liegt diese Zeit standardmäßig bei etwa 4 Minuten.

Du kannst dieses Verhalten reduzieren oder ganz abschalten - geh dabei aber vorsichtig vor - und zwar mit den folgenden Alternativen.



Regedit 

Du kannst den TIME_WAIT-Wert über den Windows-Regedit reduzieren

1. Öffne Regedit und navigiere zu den Registry-Schlüsseln HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters.

2. Lege einen neuen REG_DWORD-Wert namens TcpTimedWaitDelay an

3. Setze den Wert in Sekunden. Beispiel: Setzt du den Wert auf 5, wartet TIME_WAIT maximal 5 Sekunden.

4. Speichere und starte das System neu.

LINGER 

Eine weitere Möglichkeit, den TIME_WAIT-Zustand zu vermeiden, ist die Socket-Option SO_LINGER. Ist sie aktiviert, schließt der Client die Verbindung nicht sanft, sondern setzt sie hart zurück, sodass der TIME_WAIT-Zustand entfällt.

Du kannst diese Option über die Eigenschaft LingerState aktivieren - standardmäßig steht sie auf -1. Setzt du den Wert auf null, wird die Verbindung beim Trennen vom Socket ohne Timeout zurückgesetzt.

Diese Option ist wahrscheinlich die am wenigsten empfehlenswerte und sollte nur als letztes Mittel genutzt werden.