TsgcWebSocketHTTPServer › 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 volledig binair payload is ontvangen en gebufferd van een WebSocket-client. De Data-parameter stelt de gedecodeerde bytes beschikbaar als een TMemoryStream gepositioneerd op 0; lees het binnen de handler omdat de stream eigendom is van de server en ongeldig wordt nadat de handler terugkeert. Standaard is NotifyEvents neAsynchronous, zodat OnBinary is gesynchroniseerd met de hoofdthread en het veilig is om UI-besturingselementen aan te raken; schakel over naar neNoSync om op de verbindingsthread te verwerken wanneer doorvoer belangrijk is. Als Options.FragmentedMessages frgOnlyFragmented is, wordt de gebeurtenis niet geactiveerd en wordt OnFragmented gebruikt.
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;