TsgcWebSocketClient › Métodos › Ping
Envia um frame de ping WebSocket ao servidor e retorna imediatamente sem aguardar a resposta pong.
procedure Ping(const aText: String = '');
| Name | Type | Descrição |
|---|---|---|
aText | const String | Payload opcional a ser transportado dentro do frame de ping; passe uma string vazia para enviar um ping sem payload. |
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.
oClient.Ping('keepalive');
function Ping(aTimeout: Integer; const aText: String = '') : Boolean;
| Name | Type | Descrição |
|---|---|---|
aTimeout | Integer | Tempo máximo em milissegundos para aguardar a resposta pong antes de desistir. |
aText | const String | Payload opcional a ser transportado dentro do frame de ping; passe uma string vazia para enviar um ping sem payload. |
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)
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.
if not oClient.Ping(5000, 'healthcheck') then
oClient.Disconnect;