TsgcWebSocketServer | Mantenere le connessioni attive sul server

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.

 

HeartBeat

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;