TsgcWebSocketServer_HTTPAPIEventos › OnBinary

OnBinary Evento

Se activa cada vez que un cliente envía un mensaje binario y el servidor lo recibe.

Sintaxis

property OnBinary: TsgcWSBinaryEvent;
// TsgcWSBinaryEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream) of object

Valor Predeterminado

Observaciones

OnBinary se genera una vez que se ha recibido y almacenado en búfer una carga útil binaria completa de un cliente. El parámetro Data expone los bytes decodificados como un TMemoryStream posicionado en 0; léalo dentro del manejador porque el flujo es propiedad del servidor y se invalida una vez que el manejador retorna. El evento se ejecuta en el hilo trabajador IOCP que manejó el frame WebSocket entrante de HTTP.SYS, por lo que debe transferirse al hilo principal antes de manipular controles de interfaz. Si Options.FragmentedMessages es frgOnlyFragmented, el evento no se genera y se usa OnFragmented en su lugar.

Ejemplo


procedure OnBinary(Connection: TsgcWSConnection; const Data: TMemoryStream);
var
  oBitmap: TBitmap;
begin
  oBitmap := TBitmap.Create;
  try
    oBitmap.LoadFromStream(Data);
    Image1.Picture.Assign(oBitmap);
  finally
    FreeAndNil(oBitmap);
  end;
end;

Volver a Eventos