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