TsgcWebSocketServer | Servidor recibe mensaje binario

Cuando el servidor recibe un mensaje binario, se genera 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;

Por defecto, el servidor utiliza el método neAsynchronous para despachar el evento OnMessage, lo que 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 servidor recibe muchos mensajes o necesita controlar la sincronización con otros subprocesos, establezca la propiedad NotifyEvents en neNoSync; esto significa que el evento OnMessage se ejecutará en el contexto del subproceso de conexión; por lo tanto, si necesita actualizar algún control de un formulario o acceder a objetos compartidos, deberá implementar sus propios métodos de sincronización.