TsgcWebSocketClient | Binaire berichten ontvangen

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.