TsgcWebSocketHTTPServerZdarzenia › OnBinary

OnBinary Zdarzenie

Wywoływane za każdym razem, gdy klient wyśle wiadomość binarną, a serwer ją odbierze.

Składnia

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

Wartość domyślna

Uwagi

Zdarzenie OnBinary jest wywoływane po odebraniu i zbuforowaniu kompletnego ładunku binarnego od klienta WebSocket. Parametr Data udostępnia zdekodowane bajty jako obiekt TMemoryStream umieszczony na pozycji 0; należy go odczytać wewnątrz procedury obsługi, ponieważ strumień jest własnością serwera i staje się nieprawidłowy po powrocie z procedury. Domyślnie NotifyEvents ma wartość neAsynchronous, więc OnBinary jest synchronizowane z głównym wątkiem i bezpieczne jest dotykanie kontrolek interfejsu użytkownika; należy przełączyć na neNoSync, aby przekazywać zdarzenia w wątku połączenia, gdy przepustowość jest ważna. Jeśli Options.FragmentedMessages ma wartość frgOnlyFragmented, zdarzenie nie jest wywoływane, a zamiast niego używane jest zdarzenie OnFragmented.

Przykład


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;

Powrót do Zdarzeń