Wanneer de client een binair bericht ontvangt, wordt het evenement OnBinary geactiveerd. Lees de parameter Data om het ontvangen binaire bericht op te halen.
procedure OnBinary(Connection: TsgcWSConnection; const Data: TMemoryStream);
var
oBitmap: TBitmap;
begin
oBitmap := TBitmap.Create;
Try
oBitmap.LoadFromStream(Data);
Image1.Picture.Assign(oBitmap);
Log(
'#image uncompressed size: ' + IntToStr(Data.Size) +
'. Total received: ' + IntToStr(Connection.RecBytes));
Finally
FreeAndNil(oBitmap);
End;
end;
Standaard gebruikt de client
de methode neAsynchronous om
het OnMessage-evenement te verzenden. Dit betekent dat dit
evenement wordt uitgevoerd in de context van de hoofdthread, waardoor het thread-veilig is
om bijvoorbeeld een besturingselement van een formulier bij te werken.
Als uw client veel berichten ontvangt of u de synchronisatie met andere threads wilt beheren, stelt u de eigenschap NotifyEvents in op neNoSync. Dit betekent dat de OnMessage-gebeurtenis wordt uitgevoerd in de context van de verbindingsthread; als u dus een besturingselement op een formulier wilt bijwerken of gedeelde objecten wilt benaderen, dient u uw eigen synchronisatiemethoden te implementeren.