TsgcWebSocketServer_HTTPAPIEvents › OnBeforeHeartBeat

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;

返回事件