TsgcWebSocketClient | Recibir Mensajes Binarios

Cuando el cliente recibe un mensaje binario, se activa el evento OnBinary . Lea el parámetro Data para recuperar el mensaje binario recibido.


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;

De forma predeterminada, el cliente utiliza el método neAsynchronous para despachar el evento OnMessage, esto significa que este evento se ejecuta en el contexto del hilo principal, por lo que es seguro para hilos actualizar cualquier control de un formulario, por ejemplo.

 

Si su cliente recibe muchos mensajes o necesita controlar la sincronización con otros hilos, establezca la propiedad NotifyEvents en neNoSync, esto significa que el evento OnMessage se ejecutará en el contexto del hilo de conexión, por lo que si necesita actualizar algún control de un formulario o acceder a objetos compartidos, debe implementar sus propios métodos de sincronización.