TIME_WAIT TCP Connections

· Funzionalità

When a client initiates a disconnection da server, c'è an exchange tra client e server a inform riguardo a il state di disconnection. Quando il process è finished, il client socket connessione states come TIME_WAIT durante a variable time. Questo è a normal behavior, in windows operating systems, questo time defaults a riguardo a 4 minutes.

You può reduce o eliminate questo behavior, do con careful, utilizzando il seguente alternatives.



Regedit 

You può reduce il TIME_WAIT value utilizzando il Windows Regedit

1. Open Regedit e access a HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters registry subkeys.

2. Crea a nuovo REG_DWORD value named TcpTimedWaitDelay

3. Imposta il valore in Seconds. Example: se tu impostare a value di 5, means che TIME_WAIT waits come max come 5 seconds.

4. Save e restart il system.

LINGER 

Another option a avoid TIME_WAIT state, è utilizzare il socket option SO_LINGER, se enabled, invece di chiusura la connessione gracefully, il client resets la connessione quindi il TIME_WAIT state è avoided.

You può abilitare questo option utilizzando LingerState property, per impostazione predefinita ha a value di -1. Se tu impostare a value di zero, la connessione essere reset quando disconnettendo da socket senza Timeout.

This options è probably il less recommended e solo utilizzare come a ultimo option.