Una volta che un client si è connesso al server, a volte la connessione può essere interrotta a causa di un segnale debole, errori di connessione, ecc. Utilizzare HeartBeat per mantenere attiva la connessione.
La proprietà HeartBeat consente di inviare un Ping ogni X secondi per mantenere attiva la connessione. Alcuni client chiudono le connessioni TCP se non vengono scambiati dati tra i peer. HeartBeat risolve questo problema inviando un ping a intervalli specifici. Di solito questo è sufficiente per mantenere attiva una connessione, ma è possibile impostare un intervallo TimeOut se si desidera chiudere la connessione quando non si riceve una risposta dal client entro X secondi.
Esempio: inviare un ping a tutti i client connessi ogni 30 secondi
oServer := TsgcWebSocketServer.Create(nil);
oServer.HeartBeat.Interval := 30;
oServer.HeartBeat.Timeout := 0;
oServer.HeartBeat.Enabled := true;
oServer.Active := true;