Uma vez que um cliente se conectou ao servidor, às vezes a conexão pode ser fechada devido a sinal fraco, erros de conexão, etc. Use o HeartBeat para manter a conexão ativa.
A propriedade HeartBeat permite que você envie um Ping a cada X segundos para manter a conexão ativa. Alguns clientes fecham conexões TCP se não houver dados trocados entre os peers. O HeartBeat resolve esse problema enviando um ping em um intervalo específico. Geralmente isso é suficiente para manter uma conexão ativa, mas você pode definir um intervalo de TimeOut se quiser fechar a conexão quando uma resposta do cliente não for recebida após X segundos.
Example: envia um ping a todos os clientes conectados a cada 30 segundos
oServer := TsgcWebSocketServer.Create(nil);
oServer.HeartBeat.Interval := 30;
oServer.HeartBeat.Timeout := 0;
oServer.HeartBeat.Enabled := true;
oServer.Active := true;