TsgcTCPClient › Zdarzenia › OnBeforeHeartBeat

OnBeforeHeartBeat Zdarzenie

Wywoływane przed każdym taktem HeartBeat, dzięki czemu aplikacja może wysłać niestandardowy ładunek keep-alive.

Składnia

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

Wartość domyślna

—

Uwagi

Gdy funkcja HeartBeat jest włączona, klient budzi się co HeartBeat.Interval sekund, aby utrzymać aktywne połączenie TCP. Ponieważ transport zwykłego TCP nie ma wbudowanej ramki ping, domyślny heartbeat jest operacją pustą, a aplikacja powinna emitować cokolwiek, czego oczekuje partner (na przykład pakiet podtrzymania aktywności specyficzny dla protokołu). Zdarzenie OnBeforeHeartBeat jest wywoływane przy każdym taktowaniu, aby aplikacja mogła zapisać ten ładunek przez dostarczone połączenie. Ustawienie Handled na True jedynie dokumentuje, że aplikacja zajęła się heartbeatem; pozostawienie wartości False jest równoważne, ponieważ nie ma domyślnego pakietu do wysłania.

Przykład


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

Powrót do Zdarzeń