TsgcWebSocketServer | Server Keep Connections Alive

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.

 

HeartBeat

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;