TsgcWebSocketHTTPServer › 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 WebSocket. El parámetro Data expone los bytes decodificados como un TMemoryStream posicionado en 0; léalo dentro del controlador porque el flujo es propiedad del servidor y deja de ser válido una vez que el controlador retorna. De forma predeterminada, NotifyEvents es neAsynchronous, por lo que OnBinary se sincroniza con el hilo principal y es seguro acceder a los controles de la interfaz de usuario; cambie a neNoSync para despachar en el hilo de conexión cuando el rendimiento sea prioritario. 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;