TsgcWebSocketHTTPServer › Propriedades › HeartBeat
Envia frames de ping periódicos para manter conexões de cliente ociosas ativas e detectar peers mortos.
property HeartBeat: TsgcWSHeartBeat_Options read GetHeartBeat write SetHeartBeat;
Enabled=False
Quando HeartBeat.Enabled é True, o servidor envia um ping a cada cliente conectado a cada Interval segundos. Use Timeout para fechar peers que não respondem com pong dentro do número de segundos fornecido (0 desabilita a verificação). HeartBeatType seleciona a estratégia: hbtAlways sempre faz ping em cada intervalo, enquanto hbtOnlyIfNoMsgRcvInterval faz ping apenas se nenhuma mensagem foi recebida no último intervalo (em iohDefault o ping é enviado no contexto da thread da conexão, em vez de uma thread varredora). O evento OnBeforeHeartBeat permite substituir o ping padrão por uma mensagem personalizada.
oServer := TsgcWebSocketHTTPServer.Create(nil);
oServer.HeartBeat.Interval := 30;
oServer.HeartBeat.Timeout := 0;
oServer.HeartBeat.Enabled := true;
oServer.Active := true;