TsgcWebSocketProxyServer › Events › OnBeforeHeartBeat

OnBeforeHeartBeat 事件

在每次心跳 ping 之前触发,以便应用程序为下游 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;

返回事件