TsgcWebSocketClientMetodi › Ping

Ping Metodo

Invia un frame ping WebSocket al server e restituisce immediatamente senza attendere la risposta pong.

Overload

Overload 1

Sintassi

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

Parametri

NomeTipoDescrizione
aTextconst StringPayload facoltativo da inserire nel frame ping; passare una stringa vuota per inviare un ping senza payload.

Note

Questo overload invia il ping e ritorna immediatamente, senza bloccare il chiamante né attendere il pong corrispondente. È un no-op quando il client non è connesso. Qualsiasi pong ricevuto dal server viene consegnato in modo asincrono tramite gli eventi di connessione standard. Le eccezioni interne vengono intercettate e indirizzate a OnError. Utilizzare l'overload con timeout di l'altro overload quando è necessaria la conferma che il peer sia ancora raggiungibile.

Esempio


oClient.Ping('keepalive');

Sovraccarico 2

Sintassi

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

Parametri

NomeTipoDescrizione
aTimeoutIntegerTempo massimo in millisecondi da attendere per la risposta pong prima di rinunciare.
aTextconst StringPayload facoltativo da inserire nel frame ping; passare una stringa vuota per inviare un ping senza payload.

Valore restituito

True se il server ha risposto con un pong corrispondente entro il periodo di timeout; False in caso contrario. Quando viene restituito False, il client può scegliere di chiudere la connessione perché il peer è considerato irraggiungibile. (Boolean)

Note

Questo overload blocca il thread chiamante finché non arriva il pong o non scade il timeout, quindi è utile per i controlli interattivi di liveness. Il metodo restituisce immediatamente False quando il client non è connesso. Le eccezioni generate dal socket sottostante vengono catturate e inoltrate a OnError. Per un ping fire-and-forget che non blocca, utilizzi invece l'altro overload senza parametri.

Esempio


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

Torna ai Metodi