TsgcWebSocketHTTPServer › Événements › OnBinary
Se déclenche chaque fois qu'un client envoie un message binaire reçu par le serveur.
property OnBinary: TsgcWSBinaryEvent;
// TsgcWSBinaryEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream) of object
—
OnBinary est déclenché une fois qu'une charge utile binaire complète a été reçue et mise en mémoire tampon depuis un client WebSocket. Le paramètre Data expose les octets décodés sous forme de TMemoryStream positionné à 0 ; lisez-le dans le gestionnaire car le flux appartient au serveur et devient invalide après le retour du gestionnaire. Par défaut, NotifyEvents est 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 lorsque le débit est important. Si Options.FragmentedMessages est frgOnlyFragmented, l'événement n'est pas déclenché et OnFragmented est utilisé à la place.
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;