TsgcWebSocketServer_HTTPAPI › É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. 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. L'événement s'exécute sur le thread de travail IOCP qui a traité la trame WebSocket HTTP.SYS entrante ; transférez donc vers le thread principal avant de toucher aux contrôles de l'interface. Si Options.FragmentedMessages vaut 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;