TsgcWebSocketClient › Events › OnBinary
Si attiva ogni volta che il server invia un messaggio binario al client.
property OnBinary: TsgcWSBinaryEvent;
// TsgcWSBinaryEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream) of object
—
OnBinary viene generato una volta che l'intero payload binario è stato ricevuto e bufferizzato. Il parametro Data espone i byte decodificati come un TMemoryStream posizionato a 0; lo legga immediatamente perché lo stream è di proprietà del client e diventa non valido dopo il ritorno del gestore. Per impostazione predefinita NotifyEvents è neAsynchronous, quindi OnBinary è sincronizzato con il thread principale ed è sicuro aggiornare i controlli dell'interfaccia utente dal gestore; passi a neNoSync se necessita di evitare la sincronizzazione e gestire personalmente la thread-safety. Se Options.FragmentedMessages è frgOnlyFragmented l'evento non viene generato e viene utilizzato invece OnFragmented.
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;