TsgcWebSocketProxyServer › Eventos › OnDisconnect
Disparado toda vez que uma conexão WebSocket com um cliente downstream é derrubada e a sessão TCP upstream é fechada.
property OnDisconnect: TsgcWSDisconnectEvent;
// TsgcWSDisconnectEvent = procedure(Connection: TsgcWSConnection; Code: Integer) of object
—
OnDisconnect é gerado sempre que uma sessão de cliente downstream ativa termina, seja porque a aplicação chamou Disconnect ou DisconnectAll, o cliente fechou a conexão, ou o socket TCP foi descartado inesperadamente. A conexão TCP upstream que o proxy havia pareado com esta sessão é fechada ao mesmo tempo, portanto nenhum dado adicional será encaminhado em nenhuma direção. O parâmetro Code carrega o código de fechamento WebSocket reportado pelo peer (1000 para um fechamento normal, 1006 para um encerramento anormal...). Depois que este evento retorna, o objeto Connection não é mais válido para enviar dados, portanto libere quaisquer recursos por sessão que você tenha associado ao seu Guid.
procedure OnDisconnect(Connection: TsgcWSConnection; Code: Integer);
begin
Log(Format('Client %s disconnected (code %d)', [Connection.Guid, Code]));
end;