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.