TsgcWebSocketClientMétodos › Ping

Ping Method

Envia um frame de ping WebSocket ao servidor e retorna imediatamente sem aguardar a resposta pong.

Overloads

Overload 1

Sintaxe

procedure Ping(const aText: String = '');

Parâmetros

NameTypeDescrição
aTextconst StringPayload opcional a ser transportado dentro do frame de ping; passe uma string vazia para enviar um ping sem payload.

Observações

Esta sobrecarga dispara o ping e retorna imediatamente, sem bloquear o chamador nem aguardar o pong correspondente. É uma operação sem efeito quando o cliente não está conectado. Qualquer pong recebido do servidor é entregue de forma assíncrona através dos eventos padrão da conexão. Internamente, as exceções são capturadas e roteadas para OnError. Utilize a sobrecarga com timeout da outra sobrecarga quando você precisar de confirmação de que o peer ainda está acessível.

Exemplo


oClient.Ping('keepalive');

Sobrecarga 2

Sintaxe

function Ping(aTimeout: Integer; const aText: String = '') : Boolean;

Parâmetros

NameTypeDescrição
aTimeoutIntegerTempo máximo em milissegundos para aguardar a resposta pong antes de desistir.
aTextconst StringPayload opcional a ser transportado dentro do frame de ping; passe uma string vazia para enviar um ping sem payload.

Valor de retorno

True se o servidor respondeu com um pong correspondente dentro da janela de timeout; False caso contrário. Quando False é retornado, o cliente pode optar por fechar a conexão porque o peer é considerado inalcançável. (Boolean)

Observações

Esta sobrecarga bloqueia a thread chamadora até que o pong chegue ou o timeout decorra, então é útil para verificações interativas de liveness. O método retorna False imediatamente quando o cliente não está conectado. Exceções geradas pelo socket subjacente são capturadas e encaminhadas para OnError. Para um ping fire-and-forget que não bloqueia, use a outra sobrecarga sem parâmetros em vez disso.

Exemplo


if not oClient.Ping(5000, 'healthcheck') then
  oClient.Disconnect;

Voltar para Métodos