HTMX Engine Server

TsgcHTMX_Engine_Server — obsługuje żądania częściowej zamiany stron htmx przez HTTP i rozgłasza na żywo fragmenty out-of-band do wszystkich podłączonych przeglądarek przez WebSocket.

TsgcHTMX_Engine_Server

Łączy częściowe aktualizacje sterowane HTTP przez htmx z server-push przez WebSocket. Przychodzące żądania htmx są przekazywane do OnHTMXMessage. Handler zwraca tylko fragment do zamiany. Wywołaj BroadcastFragment w dowolnym momencie, aby wysłać na żywo aktualizacje out-of-band do każdej podłączonej przeglądarki.

Klasa komponentu

TsgcHTMX_Engine_Server

Rola

Zamiany htmx i live server push

Języki

Delphi, C++ Builder, .NET

Obsługuj żądania htmx i przesyłaj fragmenty na żywo

Podłącz silnik do serwera WebSocket, obsługuj żądania częściowej zamiany w OnHTMXMessage i wywołaj BroadcastFragment, aby wysyłać aktualizacje do każdej podłączonej przeglądarki.

uses
  sgcHTMX_Engine_Server;

var
  oHTMX: TsgcHTMX_Engine_Server;
begin
  oHTMX := TsgcHTMX_Engine_Server.Create(nil);
  oHTMX.Server         := WSSServer;
  oHTMX.OnHTMXMessage  := HandleHTMXRequest;

  // later, from any thread, push a KPI update:
  oHTMX.BroadcastFragment(
    '<div id="kpi-revenue" hx-swap-oob="true">' +
    CurrToStr(FRevenue) + '</div>');
end;
TsgcHTMX_Engine_Server *oHTMX = new TsgcHTMX_Engine_Server(NULL);
oHTMX->Server        = WSSServer;
oHTMX->OnHTMXMessage = HandleHTMXRequest;

// push a live update:
oHTMX->BroadcastFragment(
  "<div id=\"kpi-revenue\" hx-swap-oob=\"true\">" +
  CurrToStr(FRevenue) + "</div>");
var htmx = new TsgcHTMX_Engine_Server();
htmx.Server        = wssServer;
htmx.OnHTMXMessage += HandleHTMXRequest;

// push a live update:
htmx.BroadcastFragment(
    "<div id=\"kpi-revenue\" hx-swap-oob=\"true\">" +
    revenue.ToString("N0") + "</div>");

Główne właściwości i metody

Najczęściej używane elementy.

Server

TsgcHTTPServer, do którego przyłącza się ten silnik i który obsługuje żądania HTTP częściowej zamiany. Gdy zainstalowany jest serwer WebSocket, można przypisać TsgcWSHTTPServer, aby dodać WebSocket push.

OnHTMXMessage

Zdarzenie wywoływane dla każdego żądania HTTP inicjowanego przez htmx. Handler zwraca tylko fragment HTML do zamiany.

BroadcastFragment

Wysyła ładunek htmx out-of-band do wszystkich aktualnie podłączonych klientów WebSocket jednocześnie.

HandleRequest

Wywoływany przez serwer hosta dla każdego żądania. Identyfikuje nagłówki htmx i kieruje do OnHTMXMessage lub przekazuje dalej.

hx-swap-oob

Atrybut zamiany out-of-band htmx: id fragmentu musi pasować do id elementu docelowego na stronie.

Bezpieczeństwo wątkowe

BroadcastFragment jest bezpieczny wątkowo. Można go wywoływać z timerów w tle, wątków push lub handlerów zdarzeń bez blokowania.

Auth

Przypisz TsgcHTMLAuth do Auth, a silnik zastosuje do każdego żądania sesję, sprawdzanie CSRF oraz reguły logowania i ról tras. MessageSession zwraca sesję połączenia WebSocket.

SSE

SSE.Enabled serwuje strumień zdarzeń, a Template.Transport równe htSSE lub htAuto pozwala stronie odbierać fragmenty przez Server-Sent Events. PushFragment i BroadcastFragment pozostają bez zmian.

DispatchDirect

Uruchamia żądanie przez router i silnik bez gniazda, tak właśnie wywołują je testy Twoich stron.

Kontynuuj eksplorację

Pomoc onlinePełna dokumentacja API i przewodnik użytkowania tego komponentu.
Wszystkie komponenty sgcHTMLPrzeglądaj pełną macierz funkcji 80+ komponentów.
Pobierz bezpłatną wersję próbną30-dniowa wersja próbna zawiera projekty demonstracyjne 60.HTML.
CenyLicencje Single, Team i Site z pełnym kodem źródłowym.
Najkorzystniejsza oferta: All-AccessWszystkie produkty eSeGeCe, ze wsparciem Premium w cenie, już od €1,059 rocznie.
Zobacz cennik All-Access

Gotowy do rozpoczęcia?

Pobierz bezpłatną wersję próbną i zacznij tworzyć interfejsy webowe w Delphi, C++ Builder i .NET.