TsgcWebSocketServer_HTTPAPI › Eventos › OnBinary
Se activa cada vez que un cliente envía un mensaje binario y el servidor lo recibe.
property OnBinary: TsgcWSBinaryEvent;
// TsgcWSBinaryEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream) of object
—
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.
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;