WebSocket İstemcisi, kullanılabilir olaylardan bazılarıyla özelleştirilebilir. En son sürüme eklenen 2 yeni olay vardır:
OnBeforeConnect: bu olay, istemci sunucuya bağlanmaya çalışmadan hemen önce çağrılır
OnBeforeWatchDog: sgcWebSocket istemcisinin, bağlantı kesildikten sonra yeniden bağlanmak için WatchDog adında yerleşik bir metodu vardır; bu olay yeniden bağlanmaya çalışmadan önce çağrılır.
OnBeforeConnect
Bu olay, istemci sunucuya bağlanmaya çalışmadan önce çağrılır; olay, kullanıcının sunucuya elle bağlanmaya çalışması veya WatchDog'un etkin olması ve bağlantı kesildikten sonra otomatik olarak yeniden bağlanmaya çalışması nedeniyle tetiklenebilir.
Bu metot, istemci özelliklerini özelleştirmek için kullanılabilir, örneğin: çok fazla yeniden denemeden sonra erişmeye çalıştığı sunucunun Host / portunu burada değiştirebilirsiniz.
procedure OnBeforeConnect(Sender: TObject);
begin
if Retries > 10 then
TsgcWebSocketClient(Sender).URL := 'wss://www.esegece.com:2053';
end;
OnBeforeWatchDog
Bu olay, WatchDog etkinleştirildiğinde ve sunucuya yeniden bağlanmaya çalıştığında çağrılır; burada olayı kendi yeniden bağlanma algoritmanızı kullanmak için kullanabilirsiniz. Örneğin: önce güvenli bir sunucuya bağlanmayı deneyebilir ve işe yaramazsa güvenli olmayan bir sunucuya yeniden bağlanmayı deneyebilirsiniz.
procedure OnBeforeWatchDog(Sender: TObject; var Handled:
Boolean);
begin
Handled := True;
TsgcWebSocketClient(Sender).URL := 'wss://server1';
if not TsgcWebSocketClient(Sender).Connect() then
begin
TsgcWebSocketClient(Sender).URL := 'ws://server2';
TsgcWebSocketClient(Sender).Connect();
end;
end;
