TsgcWebSocketProxyServer › 이벤트 › OnBeforeHeartBeat
각 HeartBeat ping 전에 발생하여 애플리케이션이 다운스트림 WebSocket 클라이언트에 대한 사용자 정의 keep-alive를 구현할 수 있습니다.
property OnBeforeHeartBeat: TsgcWSOnBeforeHeartBeatEvent;
// TsgcWSOnBeforeHeartBeatEvent = procedure(Sender: TObject; const Connection: TsgcWSConnection; var Handled: Boolean) of object
—
HeartBeat가 활성화되면 프록시 서버는 HeartBeat.Interval초마다 연결된 모든 다운스트림 클라이언트에 표준 WebSocket ping을 보냅니다. 애플리케이션이 제공된 Connection에 자체 keep-alive 페이로드를 발행할 수 있도록 각 연결에 대해 해당 ping이 기록되기 직전에 OnBeforeHeartBeat가 발생합니다. 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;