TsgcWebSocketClient › Methoden › Ping
Stuurt een WebSocket ping-frame naar de server en keert onmiddellijk terug zonder te wachten op de pong-respons.
procedure Ping(const aText: String = '');
| Naam | Type | Beschrijving |
|---|---|---|
aText | const String | Optionele payload in het ping-frame; geef een lege tekenreeks door om een ping zonder payload te verzenden. |
Deze overload activeert de ping en keert onmiddellijk terug, zonder de aanroeper te blokkeren of te wachten op de overeenkomende pong. Het is een no-op wanneer de client niet verbonden is. Elke pong die van de server wordt ontvangen, wordt asynchroon afgeleverd via de standaard verbindingsgebeurtenissen. Intern worden uitzonderingen onderschept en doorgestuurd naar OnError. Gebruik de timeout-overload van de andere overload wanneer u bevestiging nodig heeft dat de peer nog bereikbaar is.
oClient.Ping('keepalive');
function Ping(aTimeout: Integer; const aText: String = '') : Boolean;
| Naam | Type | Beschrijving |
|---|---|---|
aTimeout | Integer | Maximale wachttijd in milliseconden voor de pong-reactie voordat wordt opgegeven. |
aText | const String | Optionele payload in het ping-frame; geef een lege tekenreeks door om een ping zonder payload te verzenden. |
True als de server binnen het time-outvenster met een overeenkomende pong heeft geantwoord; False anders. Wanneer False wordt geretourneerd, kan de client ervoor kiezen de verbinding te sluiten omdat de peer als onbereikbaar wordt beschouwd. (Boolean)
Deze overbelasting blokkeert de aanroependraad totdat de pong aankomt of de time-out verstrijkt, waardoor het handig is voor interactieve liveness-controles. De methode retourneert onmiddellijk False wanneer de client niet is verbonden. Uitzonderingen die worden gegenereerd door de onderliggende socket worden opgevangen en doorgestuurd naar OnError. Gebruik voor een fire-and-forget ping die niet blokkeert de andere overbelasting overbelasting.
if not oClient.Ping(5000, 'healthcheck') then
oClient.Disconnect;