Às vezes há erros nas comunicações: o servidor pode desconectar uma conexão porque não está autorizada ou uma mensagem não tem o formato correto. Há 2 eventos onde os erros são capturados.
Este evento é disparado toda vez que há um erro no protocolo WebSocket, como tipo de mensagem inválido, string utf8 inválida...
procedure OnError(Connection: TsgcWSConnection; const Error: string);
begin
WriteLn('#error: ' + Error);
end;
Este evento é disparado toda vez que há uma exceção, como escrever em um socket que não está ativo ou acessar um objeto que não existe.
procedure OnException(Connection: TsgcWSConnection; E: Exception);
begin
WriteLn('#exception: ' + E.Message);
end;
Por padrão, quando uma conexão é fechada pelo servidor, uma exceção será gerada. Se você não quiser que essas exceções sejam geradas, desabilite Options.RaiseDisconnectExceptions.