TsgcWebSocketServer_HTTPAPI › イベント › OnBeforeHeartBeat
各 HeartBeat ping の前に発生し、アプリケーションがカスタムキープアライブを実装できるようにします。
property OnBeforeHeartBeat: TsgcWSOnBeforeHeartBeatEvent;
// TsgcWSOnBeforeHeartBeatEvent = procedure(Sender: TObject; const Connection: TsgcWSConnection; var Handled: Boolean) of object
—
HeartBeat が有効な場合、サーバーは HeartBeat.Interval 秒ごとにすべての接続済みクライアントに標準 WebSocket ping を送信します。OnBeforeHeartBeat は、各接続に対してその ping が書き込まれる直前に発生します。アプリケーションは指定された Connection に独自のキープアライブペイロードを送信できます。Handled を True に設定すると、このサイクルのデフォルト ping が抑制されます。False のままにする (デフォルト) と、ハンドラーが返った後に標準の ping が送信されます。プロトコル固有のハートビートを実装したり、接続ごとにペイロードを変更するために使用します。
procedure OnBeforeHeartBeat(Sender: TObject; const Connection: TsgcWSConnection;
var Handled: Boolean);
begin
Connection.WriteData('ping');
Handled := True;
end;