TsgcTCPClient › Properties › HeartBeat
Bağlantıyı canlı tutmak ve takılmaları algılamak için periyodik bir uygulama düzeyinde heartbeat tetikler.
property HeartBeat: TsgcWSHeartBeat_Options read GetHeartBeat write SetHeartBeat;
Enabled=False
HeartBeat.Enabled True olduğunda, istemci her Interval saniyede bir OnBeforeHeartBeat olayını tetikler, böylece ham TCP oturumu üzerinden uygulama tanımlı bir prob yazabilirsiniz. İstemci WebSocket protokolünü konuşmadığı için, gönderecek yerleşik bir ping çerçevesi yoktur; hat biçiminizin beklediği keep-alive baytlarını yaymak için olay işleyicisini kullanın. Timeout, giden prob ile bağlantı kapatılmadan önceki bir yanıt arasındaki maksimum saniyedir (0 kontrolü devre dışı bırakır) ve HeartBeatType, hbtAlways (her aralıkta tetikle) veya hbtOnlyIfNoMsgRcvInterval (yalnızca son aralık sırasında mesaj alınmadıysa) seçer. Bu, OS düzeyindeki TCPKeepAlive problarıyla ilgisizdir.
oTCP := TsgcTCPClient.Create(nil);
oTCP.HeartBeat.Interval := 30;
oTCP.HeartBeat.Timeout := 0;
oTCP.HeartBeat.Enabled := true;
oTCP.Active := true;