TsgcWebSocketServerÉvénements › OnBinary

OnBinary Événement

Se déclenche chaque fois qu'un client envoie un message binaire reçu par le serveur.

Syntaxe

property OnBinary: TsgcWSBinaryEvent;
// TsgcWSBinaryEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream) of object

Valeur par défaut

Remarques

OnBinary est déclenché dès qu'une charge utile binaire complète a été reçue et mise en mémoire tampon depuis un client. Le paramètre Data expose les octets décodés sous forme de TMemoryStream positionné à 0 ; lisez-le à l'intérieur du gestionnaire, car le flux appartient au serveur et devient invalide après le retour du gestionnaire. Par défaut, NotifyEvents vaut neAsynchronous, donc OnBinary est synchronisé avec le thread principal et il est sûr de toucher les contrôles d'interface ; passez à neNoSync pour distribuer sur le thread de connexion si le débit est critique. Si Options.FragmentedMessages vaut frgOnlyFragmented, l'événement n'est pas déclenché et OnFragmented est utilisé à la place.

Exemple


procedure OnBinary(Connection: TsgcWSConnection; const Data: TMemoryStream);
var
  oBitmap: TBitmap;
begin
  oBitmap := TBitmap.Create;
  try
    oBitmap.LoadFromStream(Data);
    Image1.Picture.Assign(oBitmap);
  finally
    FreeAndNil(oBitmap);
  end;
end;

Retour aux événements