Des erreurs surviennent parfois lors des communications : le serveur peut déconnecter une connexion parce qu'elle n'est pas autorisée ou qu'un message n'a pas le bon format. Il existe 2 événements dans lesquels les erreurs sont capturées.
Cet événement est déclenché chaque fois qu'il y a une erreur dans le protocole WebSocket, comme un type de message invalide, une chaîne utf8 invalide...
procedure OnError(Connection: TsgcWSConnection; const Error: string);
begin
WriteLn('#error: ' + Error);
end;
Cet événement est déclenché chaque fois qu'une exception se produit, par exemple lors d'une écriture sur un socket qui n'est pas actif ou d'un accès à un objet qui n'existe pas.
procedure OnException(Connection: TsgcWSConnection; E: Exception);
begin
WriteLn('#exception: ' + E.Message);
end;
Par défaut, lorsqu'une connexion est fermée par le serveur, une exception sera levée. Si vous ne souhaitez pas que ces exceptions soient levées, désactivez Options.RaiseDisconnectExceptions.