TsgcWebSocketClient › Metodi › Ping
Invia un frame ping WebSocket al server e restituisce immediatamente senza attendere la risposta pong.
procedure Ping(const aText: String = '');
| Nome | Tipo | Descrizione |
|---|---|---|
aText | const String | Payload facoltativo da inserire nel frame ping; passare una stringa vuota per inviare un ping senza payload. |
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.
oClient.Ping('keepalive');
function Ping(aTimeout: Integer; const aText: String = '') : Boolean;
| Nome | Tipo | Descrizione |
|---|---|---|
aTimeout | Integer | Tempo massimo in millisecondi da attendere per la risposta pong prima di rinunciare. |
aText | const String | Payload facoltativo da inserire nel frame ping; passare una stringa vuota per inviare un ping senza payload. |
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)
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.
if not oClient.Ping(5000, 'healthcheck') then
oClient.Disconnect;