TsgcWebSocketProxyServer › Zdarzenia › OnDisconnect
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.
property OnDisconnect: TsgcWSDisconnectEvent;
// TsgcWSDisconnectEvent = procedure(Connection: TsgcWSConnection; Code: Integer) of object
—
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.
procedure OnDisconnect(Connection: TsgcWSConnection; Code: Integer);
begin
Log(Format('Client %s disconnected (code %d)', [Connection.Guid, Code]));
end;