TsgcWebSocketHTTPServerEreignisse › 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 ein vollständiges binäres Payload von einem WebSocket-Client empfangen und gepuffert wurde. Der Parameter Data stellt die decodierten Bytes als TMemoryStream auf Position 0 bereit; lesen Sie ihn innerhalb des Handlers, da der Stream dem Server gehört und nach Rückkehr des Handlers ungültig wird. Standardmäßig ist NotifyEvents auf neAsynchronous gesetzt, sodass OnBinary mit dem Hauptthread synchronisiert wird und es sicher ist, UI-Steuerelemente anzufassen; wechseln Sie zu neNoSync, um im Verbindungsthread auszuliefern, wenn der Durchsatz wichtig ist. Wenn Options.FragmentedMessages auf frgOnlyFragmented gesetzt ist, wird das Ereignis nicht ausgelöst und stattdessen OnFragmented 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