TsgcWebSocketClientZdarzenia › OnBinary

OnBinary Zdarzenie

Wywoływane za każdym razem, gdy serwer wysyła do klienta wiadomość binarną.

Składnia

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

Wartość domyślna

Uwagi

OnBinary jest wywoływane po odebraniu i zbuforowaniu pełnego ładunku binarnego. Parametr Data udostępnia zdekodowane bajty jako TMemoryStream ustawiony na pozycji 0. Należy go odczytać natychmiast, ponieważ strumień jest własnością klienta i staje się nieważny po powrocie z obsługi. Domyślnie NotifyEvents ma wartość neAsynchronous, więc OnBinary jest synchronizowane z wątkiem głównym i można bezpiecznie aktualizować kontrolki interfejsu z poziomu obsługi. Należy przełączyć na neNoSync, jeśli konieczne jest uniknięcie synchronizacji i samodzielne zarządzanie bezpieczeństwem wątkowym. Jeśli Options.FragmentedMessages ma wartość frgOnlyFragmented, zdarzenie nie jest wywoływane i zamiast niego używane jest 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ń