HTMX Engine Server

TsgcHTMX_Engine_Server — 处理通过 HTTP 传入的 htmx 局部页面交换请求,并通过 WebSocket 向所有已连接的浏览器广播实时带外片段。

TsgcHTMX_Engine_Server

将 htmx 的 HTTP 驱动局部更新与 WebSocket 服务器推送相桥接。传入的 htmx 请求被分发到 OnHTMXRequest;您的处理程序只需返回要交换的片段。随时调用 BroadcastFragment 即可向每个已连接的浏览器推送实时带外更新。

组件类

TsgcHTMX_Engine_Server

角色

htmx 交换 + 实时服务器推送

语言

Delphi, C++ Builder, .NET

处理 htmx 请求并推送实时片段

将引擎连接到您的 WebSocket 服务器,在 OnHTMXRequest 中处理局部交换请求,并调用 BroadcastFragment 将更新推送到每个已连接的浏览器。

uses
  sgcHTMX_Engine_Server;

var
  oHTMX: TsgcHTMX_Engine_Server;
begin
  oHTMX := TsgcHTMX_Engine_Server.Create(nil);
  oHTMX.Server         := WSSServer;
  oHTMX.OnHTMXRequest  := 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->OnHTMXRequest = 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.OnHTMXRequest += HandleHTMXRequest;

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

关键属性和方法

最常用的成员。

Server

此引擎附加的 TsgcWSHTTPServer;同时处理 HTTP 局部交换请求和 WebSocket 推送。

OnHTMXRequest

每次 htmx 触发的 HTTP 请求时触发的事件;您的处理程序只需返回要交换的片段 HTML。

BroadcastFragment

同时向所有当前已连接的 WebSocket 客户端发送带外 htmx 载荷。

HandleRequest

由宿主服务器为每个请求调用;识别 htmx 头并路由到 OnHTMXRequest 或透传处理。

hx-swap-oob

htmx 的带外交换属性:片段 id 必须与页面上目标元素的 id 匹配。

线程安全

BroadcastFragment 是线程安全的;可从后台定时器、推送线程或事件处理程序中调用,无需加锁。

继续探索

在线帮助此组件的完整 API 参考和使用指南。
所有 sgcHTML 组件浏览 60+ 组件的完整功能矩阵。
下载免费试用版30 天试用版包含 60.HTML 演示项目。
价格包含完整源代码的单用户、团队和站点许可证。

准备好开始了吗?

下载免费试用版,开始在 Delphi、C++ Builder 和 .NET 中构建 Web UI。