TsgcWebSocketClient › Eventos › OnBinary
Dispara toda vez que o servidor envia uma mensagem binária ao cliente.
property OnBinary: TsgcWSBinaryEvent;
// TsgcWSBinaryEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream) of object
—
OnBinary é gerado quando o payload binário completo é recebido e armazenado em buffer. O parâmetro Data expõe os bytes decodificados como um TMemoryStream posicionado em 0; leia-o imediatamente, pois o stream pertence ao cliente e torna-se inválido após o manipulador retornar. Por padrão, NotifyEvents é neAsynchronous, portanto OnBinary é sincronizado com a thread principal e é seguro atualizar controles de UI a partir do manipulador; mude para neNoSync se você precisar evitar a sincronização e tratar a thread-safety por conta própria. Se Options.FragmentedMessages for frgOnlyFragmented, o evento não é disparado e OnFragmented é usado em seu 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;