TsgcWebSocketProxyServer › イベント › OnBeforeHeartBeat

OnBeforeHeartBeat イベント

各HeartBeatピングの前に発生し、アプリケーションがダウンストリームWebSocketクライアント用のカスタムキープアライブを実装できます。

構文

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 が送信されます。プロトコル固有のハートビートを実装したり、接続ごとにペイロードを変えたりするために使用します。ここでは WebSocket レッグのみが ping されます。このイベントではアップストリーム TCP リンクは操作されません。

使用例


procedure OnBeforeHeartBeat(Sender: TObject; const Connection: TsgcWSConnection;
  var Handled: Boolean);
begin
  Connection.WriteData('ping');
  Handled := True;
end;

イベントに戻る