TsgcWebSocketHTTPServer › Events › OnBeforeHeartBeat
Si attiva prima di ogni ping HeartBeat in modo che l'applicazione possa implementare un keep-alive personalizzato.
property OnBeforeHeartBeat: TsgcWSOnBeforeHeartBeatEvent;
// TsgcWSOnBeforeHeartBeatEvent = procedure(Sender: TObject; const Connection: TsgcWSConnection; var Handled: Boolean) of object
—
Quando HeartBeat è abilitato, il server invia un ping WebSocket standard a ogni client connesso ogni HeartBeat.Interval secondi. OnBeforeHeartBeat viene generato immediatamente prima che quel ping venga scritto per ogni connessione, in modo che l'applicazione possa emettere il proprio payload di keep-alive sulla Connection fornita. Impostando Handled a True si sopprime il ping predefinito per questo ciclo; lasciandolo a False (impostazione predefinita) il ping standard viene inviato dopo che il gestore ritorna. Lo utilizzi per implementare heartbeat specifici del protocollo o per variare il payload per connessione.
procedure OnBeforeHeartBeat(Sender: TObject; const Connection: TsgcWSConnection;
var Handled: Boolean);
begin
Connection.WriteData('ping');
Handled := True;
end;