TsgcWebSocketServer_HTTPAPIEreignisse › OnBinary

OnBinary Ereignis

Wird jedes Mal ausgelöst, wenn ein Client eine Binärnachricht sendet und sie vom Server empfangen wird.

Syntax

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

Standardwert

Hinweise

OnBinary wird ausgelöst, sobald eine vollständige Binär-Nutzlast von einem Client empfangen und gepuffert wurde. Der Data-Parameter macht die decodierten Bytes als TMemoryStream verfügbar, der auf 0 positioniert ist; lesen Sie ihn innerhalb des Handlers, da der Stream dem Server gehört und nach der Rückkehr des Handlers ungültig wird. Das Ereignis läuft auf dem IOCP-Worker-Thread, der den eingehenden HTTP.SYS-WebSocket-Frame behandelt hat, marshallieren Sie also zum Hauptthread, bevor Sie UI-Steuerelemente berühren. Wenn Options.FragmentedMessages frgOnlyFragmented ist, wird das Ereignis nicht ausgelöst und OnFragmented stattdessen verwendet.

Beispiel


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;

Zurück zu Ereignissen