TsgcWebSocketServer_HTTPAPIEvents › OnBinary

OnBinary Event

Si attiva ogni volta che un client invia un messaggio binario e questo viene ricevuto dal server.

Sintassi

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

Valore predefinito

Note

OnBinary viene sollevato una volta che un payload binario completo è stato ricevuto e bufferizzato da un client. Il parametro Data espone i byte decodificati come un TMemoryStream posizionato a 0; lo legga all'interno del gestore perché lo stream è di proprietà del server e diventa non valido dopo il ritorno del gestore. L'evento viene eseguito sul thread worker IOCP che ha gestito il frame WebSocket HTTP.SYS in ingresso, quindi effettui il marshal al main thread prima di toccare i controlli UI. Se Options.FragmentedMessages è frgOnlyFragmented l'evento non viene sollevato e viene utilizzato OnFragmented al suo posto.

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