TsgcWebSocketProxyServer › Gebeurtenissen › OnBinary

OnBinary Gebeurtenis

Wordt geactiveerd telkens wanneer een downstream WebSocket-client een binair bericht verstuurt, voordat de proxy het doorstuurt naar upstream.

Syntaxis

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

Standaardwaarde

—

Opmerkingen

OnBinary wordt geactiveerd zodra een volledig binair payload is ontvangen en gebufferd van een downstream WebSocket-client. De Data-parameter stelt de gedecodeerde bytes beschikbaar als een TMemoryStream gepositioneerd op 0; lees het binnen de handler omdat de stream eigendom is van de server en ongeldig wordt nadat de handler terugkeert. De proxy stuurt deze payload door naar de upstream TCP-server (Proxy.Host, Proxy.Port) direct nadat de handler terugkeert, dus het is een handige plek om het frame te inspecteren of te loggen voordat het wordt doorgestuurd. Standaard is NotifyEvents neAsynchronous, zodat OnBinary is gesynchroniseerd met de hoofdthread en het veilig is om UI-besturingselementen aan te raken; schakel over naar neNoSync om op de verbindingsthread te verwerken wanneer doorvoer belangrijk is. Als Options.FragmentedMessages frgOnlyFragmented is, wordt de gebeurtenis niet geactiveerd en wordt OnFragmented gebruikt.

Voorbeeld


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;

Terug naar Events