TsgcWebSocketHTTPServer › 属性 › HeartBeat
定期发送 ping 帧,以保持空闲客户端连接活跃并检测失效对端。
property HeartBeat: TsgcWSHeartBeat_Options read GetHeartBeat write SetHeartBeat;
Enabled=False
当 HeartBeat.Enabled 为 True 时,服务器每 Interval 秒向每个已连接的客户端发送一次 ping。使用 Timeout 关闭在给定秒数内未返回 pong 的对端(0 禁用检查)。HeartBeatType 选择策略:hbtAlways 在每次间隔时始终发送 ping,而 hbtOnlyIfNoMsgRcvInterval 仅在最后一个间隔内未收到消息时才发送 ping(在 iohDefault 上,ping 在连接线程而非扫描线程的上下文中发送)。OnBeforeHeartBeat 事件允许您将标准 ping 替换为自定义消息。
oServer := TsgcWebSocketHTTPServer.Create(nil);
oServer.HeartBeat.Interval := 30;
oServer.HeartBeat.Timeout := 0;
oServer.HeartBeat.Enabled := true;
oServer.Active := true;