TsgcWebSocketServer_HTTPAPI › Events › 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;