TsgcWebSocketClient › Gebeurtenissen › OnBinary
Wordt geactiveerd telkens wanneer de server een binair bericht naar de client stuurt.
property OnBinary: TsgcWSBinaryEvent;
// TsgcWSBinaryEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream) of object
—
OnBinary wordt geactiveerd zodra de volledige binaire payload is ontvangen en gebufferd. De parameter Data stelt de gedecodeerde bytes beschikbaar als een TMemoryStream gepositioneerd op 0; lees deze onmiddellijk omdat de stream eigendom is van de client en ongeldig wordt nadat de handler is teruggekeerd. Standaard is NotifyEvents neAsynchronous, zodat OnBinary gesynchroniseerd is met de hoofdthread en het veilig is om UI-besturingselementen vanuit de handler bij te werken; schakel over naar neNoSync als u synchronisatie wilt vermijden en draadveiligheid zelf wilt afhandelen. Als Options.FragmentedMessages frgOnlyFragmented is, wordt de gebeurtenis niet geactiveerd en wordt in plaats daarvan 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;