December 2008 Blog Posts

Keepalive su socket C#

Un cliente mi ha chiesto di attivare il keepAlive su un socket in un applicativo c#, così su due piedi ho detto: Facile ! Basta usare: 1: private TcpListener listener; 2: listener.Server.SetSocketOption(SocketOptionLevel.Tcp, SocketOptionName.KeepAlive, 1);//per abilitare il tcpkeepalive sul socket Però il settaggio sopra serve solo per attivare il keepAlive su un socket utilizzando i valori di default da settare nel registry: [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters] KeepAliveTime = millisecondi Specifica l’idle time in millisecondi prima che il TCP cominci ad inviare keepalive. Default 2 ore (7.200.000) KeepAliveInterval = uint Specifica l’intervallo in secondi tra le ritrasmissioni dei keepalive dopo che...