TsgcHTTPServer › Eventos › OnDisconnect
Disparado toda vez que uma conexão de cliente é encerrada.
property OnDisconnect: TsgcWSDisconnectEvent;
// TsgcWSDisconnectEvent = procedure(Connection: TsgcWSConnection; Code: Integer) of object
—
OnDisconnect é gerado sempre que uma conexão de cliente ativa termina, seja porque a aplicação chamou Disconnect ou DisconnectAll, o cliente fechou a conexão, ou o socket TCP foi derrubado inesperadamente. O parâmetro Code carrega o código de fechamento numérico usado em todo o mecanismo de servidor sgc compartilhado (1000 para um fechamento normal, 1006 para uma queda anormal); o TsgcHTTPServer nunca realiza um handshake de fechamento WebSocket, portanto o código reflete como a conexão terminou, e não um valor negociado com o cliente. Após o retorno deste evento, 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;