TsgcWebSocketClient › Yöntemler › Ping
Sunucuya bir WebSocket ping çerçevesi gönderir ve pong yanıtını beklemeden hemen döner.
procedure Ping(const aText: String = '');
| Name | Type | Açıklama |
|---|---|---|
aText | const String | Ping çerçevesi içinde taşınacak isteğe bağlı yük; yük olmadan bir ping göndermek için boş bir dize geçirin. |
Bu overload, ping'i tetikler ve çağıranı engellemeden veya eşleşen pong'u beklemeden hemen döner. İstemci bağlı olmadığında bir işlem yapmaz. Sunucudan alınan herhangi bir pong, standart bağlantı olayları aracılığıyla asenkron olarak teslim edilir. Dahili olarak istisnalar yakalanır ve OnError'a yönlendirilir. Peer'ın hâlâ ulaşılabilir olduğunun onayına ihtiyaç duyduğunuzda diğer overload'ın timeout overload'ını kullanın.
oClient.Ping('keepalive');
function Ping(aTimeout: Integer; const aText: String = '') : Boolean;
| Name | Type | Açıklama |
|---|---|---|
aTimeout | Integer | Vazgeçmeden önce pong yanıtını beklemek için milisaniye cinsinden maksimum süre. |
aText | const String | Ping çerçevesi içinde taşınacak isteğe bağlı yük; yük olmadan bir ping göndermek için boş bir dize geçirin. |
Sunucu zaman aşımı penceresi içinde eşleşen bir pong ile yanıt verdiğinde True; aksi takdirde False. False döndürüldüğünde, eş ulaşılamaz kabul edildiği için istemci bağlantıyı kapatmayı seçebilir. (Boolean)
Bu aşırı yükleme, pong gelene veya zaman aşımı geçene kadar çağıran iş parçacığını engeller, dolayısıyla etkileşimli canlılık denetimleri için kullanışlıdır. İstemci bağlı olmadığında yöntem hemen False döndürür. Temel soket tarafından oluşturulan istisnalar yakalanır ve OnError'a iletilir. Engellemeyen bir gönder-ve-unut ping için bunun yerine parametresiz diğer aşırı yükleme aşırı yüklemesini kullanın.
if not oClient.Ping(5000, 'healthcheck') then
oClient.Disconnect;