TsgcWebSocketServer | Mantener las conexiones del servidor activas

Una vez que un cliente se ha conectado al servidor, en ocasiones la conexión puede cerrarse debido a una señal deficiente, errores de conexión, etc. Utilice HeartBeat para mantener la conexión activa.

 

HeartBeat

La propiedad HeartBeat le permite enviar un Ping cada X segundos para mantener la conexión activa. Algunos clientes cierran las conexiones TCP si no se intercambian datos entre pares. HeartBeat resuelve este problema enviando un ping a un intervalo específico. Normalmente esto es suficiente para mantener una conexión activa, pero puede establecer un intervalo de TimeOut si desea cerrar la conexión cuando no se recibe respuesta del cliente después de X segundos.

 

Ejemplo: enviar un ping a todos los clientes conectados cada 30 segundos.


oServer := TsgcWebSocketServer.Create(nil);
oServer.HeartBeat.Interval := 30;
oServer.HeartBeat.Timeout := 0;
oServer.HeartBeat.Enabled := true;
oServer.Active := true;