TsgcWebSocketServer_HTTPAPI › Gebeurtenissen › OnBinary
Wordt telkens geactiveerd wanneer een client een binair bericht verzendt en dit door de server wordt ontvangen.
property OnBinary: TsgcWSBinaryEvent;
// TsgcWSBinaryEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream) of object
—
OnBinary wordt geactiveerd zodra een volledige binaire payload is ontvangen en gebufferd van een client. De parameter Data geeft de gedecodeerde bytes weer als een TMemoryStream gepositioneerd op 0; lees het in de handler want de stream is eigendom van de server en wordt ongeldig nadat de handler terugkeert. Het evenement wordt uitgevoerd op de IOCP-werkthread die het binnenkomende HTTP.SYS WebSocket-frame heeft verwerkt; marshal naar de hoofdthread vóór aanraking van UI-controls. Als Options.FragmentedMessages frgOnlyFragmented is, wordt het evenement niet geactiveerd en wordt OnFragmented gebruikt in plaats hiervan.
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;