TsgcWebSocketServerEreignisse › 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äre Nutzlast von einem Client empfangen und gepuffert wurde. Der Parameter Data stellt die dekodierten Bytes als TMemoryStream bereit, der auf 0 positioniert ist; 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 neAsynchronous, sodass OnBinary mit dem Haupt-Thread synchronisiert wird und es sicher ist, UI-Steuerelemente zu berühren; wechseln Sie zu neNoSync, um auf dem Verbindungs-Thread zu versenden, wenn der Durchsatz wichtig ist. Wenn Options.FragmentedMessages frgOnlyFragmented 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