HTMX Engine Server

TsgcHTMX_Engine_Server — verarbeitet htmx-Partial-Page-Swap-Anfragen über HTTP und überträgt Live-Out-of-Band-Fragmente an alle verbundenen Browser über WebSocket.

TsgcHTMX_Engine_Server

Verbindet htmx-HTTP-gesteuerte Partial-Updates mit WebSocket-Server-Push. Eingehende htmx-Anfragen werden an OnHTMXMessage weitergeleitet; Ihr Handler gibt nur das auszutauschende Fragment zurück. Rufen Sie BroadcastFragment jederzeit auf, um Live-Out-of-Band-Updates an jeden verbundenen Browser zu senden.

Komponentenklasse

TsgcHTMX_Engine_Server

Rolle

htmx-Swaps & Live-Server-Push

Sprachen

Delphi, C++ Builder, .NET

htmx-Anfragen verarbeiten und Live-Fragmente senden

Verbinden Sie die Engine mit Ihrem WebSocket-Server, verarbeiten Sie Partial-Swap-Anfragen in OnHTMXMessage und rufen Sie BroadcastFragment auf, um Updates an jeden verbundenen Browser zu senden.

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>");

Wichtige Eigenschaften & Methoden

Die am häufigsten verwendeten Members.

Server

Der TsgcHTTPServer, an den sich diese Engine anhängt und der die HTTP-Partial-Swap-Anfragen verarbeitet. Weisen Sie einen TsgcWSHTTPServer zu, wenn der WebSocket-Server installiert ist, um WebSocket-Push hinzuzufügen.

OnHTMXMessage

Ereignis, das für jede htmx-ausgelöste HTTP-Anfrage ausgelöst wird; Ihr Handler gibt nur das Fragment-HTML zum Einfügen zurück.

BroadcastFragment

Sendet eine Out-of-Band-htmx-Nutzlast gleichzeitig an jeden aktuell verbundenen WebSocket-Client.

HandleRequest

Wird vom Host-Server für jede Anfrage aufgerufen; identifiziert htmx-Header und leitet an OnHTMXMessage weiter oder reicht durch.

hx-swap-oob

htmx's Out-of-Band-Swap-Attribut: Die Fragment-ID muss mit der Ziel-Element-ID auf der Seite übereinstimmen.

Thread-Sicherheit

BroadcastFragment ist thread-sicher; rufen Sie es aus Hintergrund-Timern, Push-Threads oder Event-Handlern ohne Sperren auf.

Auth

Weisen Sie einen TsgcHTMLAuth der Eigenschaft Auth zu, und die Engine wendet die Sitzung, die CSRF-Prüfung und die Anmelde- und Rollenregeln der Routen auf jede Anfrage an. MessageSession gibt die Sitzung einer WebSocket-Verbindung zurück.

SSE

SSE.Enabled liefert den Event-Stream aus, und ein Template.Transport mit htSSE oder htAuto lässt eine Seite ihre Fragmente über Server-Sent Events empfangen. PushFragment und BroadcastFragment bleiben gleich.

DispatchDirect

Führt eine Anfrage ohne Socket durch den Router und die Engine aus, so rufen die Tests Ihrer Seiten sie auf.

Weiter erkunden

Online-HilfeVollständige API-Referenz und Verwendungshandbuch für diese Komponente.
Alle sgcHTML-KomponentenDurchsuche die vollständige Feature-Matrix mit 80+ Komponenten.
Kostenlose Testversion herunterladenDie 30-Tage-Testversion enthält die 60.HTML-Demoprojekte.
PreiseEinzel-, Team- und Site-Lizenzen mit vollständigem Quellcode.
Bestes Preis-Leistungs-Verhältnis: All-AccessAlle eSeGeCe-Produkte, inklusive Premium-Support, ab €1,059 pro Jahr.
All-Access-Preise ansehen

Bereit loszulegen?

Laden Sie die kostenlose Testversion herunter und beginnen Sie, Web-UIs in Delphi, C++ Builder und .NET zu erstellen.