TsgcTCPClient › 이벤트 › OnBeforeHeartBeat

OnBeforeHeartBeat 이벤트

애플리케이션이 사용자 지정 keep-alive 페이로드를 전송할 수 있도록 각 HeartBeat 틱 전에 발생합니다.

구문

property OnBeforeHeartBeat: TsgcWSOnBeforeHeartBeatEvent;
// TsgcWSOnBeforeHeartBeatEvent = procedure(Sender: TObject; const Connection: TsgcWSConnection; var Handled: Boolean) of object

기본값

—

설명

HeartBeat가 활성화되면 클라이언트는 TCP 연결을 활성 상태로 유지하기 위해 HeartBeat.Interval초마다 깨어납니다. 일반 TCP 전송에는 내장 ping 프레임이 없으므로, 기본 하트비트는 아무 작업도 하지 않으며 애플리케이션이 피어가 예상하는 페이로드(예: 프로토콜별 keep-alive 패킷)를 내보내야 합니다. OnBeforeHeartBeat는 각 틱마다 발생하므로 애플리케이션이 제공된 Connection을 통해 해당 페이로드를 쓸 수 있습니다. Handled를 True로 설정하는 것은 단순히 애플리케이션이 하트비트를 처리했음을 문서화하며, 보낼 기본 패킷이 없으므로 False로 두는 것과 동일합니다.

예제


procedure OnBeforeHeartBeat(Sender: TObject; const Connection: TsgcWSConnection;
  var Handled: Boolean);
begin
  Connection.WriteData('PING' + #13#10);
  Handled := True;
end;

이벤트로 돌아가기