TsgcWebSocketClientEvents › OnBinary

OnBinary Event

Si attiva ogni volta che il server invia un messaggio binario al client.

Sintassi

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

Valore predefinito

Note

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.

Esempio


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;

Torna agli Eventi