TsgcWebSocketServer_HTTPAPI › 属性 › HeartBeat
定期发送 ping 帧,以保持空闲的 WebSocket 连接活跃并检测断开的对端。
property HeartBeat: TsgcWSHeartBeat_Options read GetHeartBeat write SetHeartBeat;
Enabled=False
当 HeartBeat.Enabled 为 True 时,服务器每隔 Interval 秒向每个已连接的客户端发送一次 ping。使用 Timeout 关闭在指定秒数内未响应 pong 的对端(0 表示禁用此检查)。OnBeforeHeartBeat 事件允许您通过将 Handled 参数设置为 True 来用自定义消息替换标准 ping。心跳对于会静默丢弃空闲 TCP 连接的云负载均衡器和 NAT 设备尤为重要。
oServer := TsgcWebSocketServer_HTTPAPI.Create(nil);
oServer.HeartBeat.Interval := 30;
oServer.HeartBeat.Timeout := 0;
oServer.HeartBeat.Enabled := true;
oServer.Active := true;