TsgcTCPClient › Propiedades › HeartBeat
Activa un latido de nivel de aplicación periódico para mantener la conexión activa y detectar bloqueos.
property HeartBeat: TsgcWSHeartBeat_Options read GetHeartBeat write SetHeartBeat;
Enabled=False
Cuando HeartBeat.Enabled es True, el cliente activa el evento OnBeforeHeartBeat cada Interval segundos para que pueda escribir una sonda definida por la aplicación sobre la sesión TCP en bruto. Como el cliente no habla el protocolo WebSocket, no tiene una trama ping integrada para enviar; use el manejador de evento para emitir los bytes de keep-alive que su formato de cable requiera. Timeout es el máximo de segundos entre la sonda saliente y una respuesta antes de cerrar la conexión (0 deshabilita la comprobación), y HeartBeatType selecciona hbtAlways (activar en cada intervalo) o hbtOnlyIfNoMsgRcvInterval (solo si no se recibió ningún mensaje durante el último intervalo). Esto no está relacionado con las sondas TCPKeepAlive a nivel del sistema operativo.
oTCP := TsgcTCPClient.Create(nil);
oTCP.HeartBeat.Interval := 30;
oTCP.HeartBeat.Timeout := 0;
oTCP.HeartBeat.Enabled := true;
oTCP.Active := true;