TsgcWebSocketProxyServer › Zdarzenia › OnDisconnect

OnDisconnect Zdarzenie

Wywoływane za każdym razem, gdy połączenie WebSocket z klientem poniżej zostaje przerwane i sesja TCP z serwerem powyżej zostaje zamknięta.

Składnia

property OnDisconnect: TsgcWSDisconnectEvent;
// TsgcWSDisconnectEvent = procedure(Connection: TsgcWSConnection; Code: Integer) of object

Wartość domyślna

—

Uwagi

Zdarzenie OnDisconnect jest wywoływane za każdym razem, gdy aktywna sesja klienta strumienia danych kończy się — czy to dlatego, że aplikacja wywołała Disconnect lub DisconnectAll, klient zamknął połączenie, czy gniazdo TCP zostało nieoczekiwanie przerwane. Połączenie TCP do systemu nadrzędnego, z którym proxy skojarzyło tę sesję, jest zamykane w tym samym momencie, dlatego żadne dalsze dane nie będą przekazywane w żadnym kierunku. Parametr Code zawiera kod zamknięcia WebSocket zgłoszony przez peera (1000 dla normalnego zamknięcia, 1006 dla nieprawidłowego przerwania itd.). Po powrocie z tego zdarzenia obiekt Connection jest już nieprawidłowy do wysyłania danych, dlatego należy zwolnić wszelkie zasoby per-sesji skojarzone z jego identyfikatorem Guid.

Przykład


procedure OnDisconnect(Connection: TsgcWSConnection; Code: Integer);
begin
  Log(Format('Client %s disconnected (code %d)', [Connection.Guid, Code]));
end;

Powrót do Zdarzeń