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;

  // 後でどのスレッドからでもKPI更新をプッシュできます:
  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;

// ライブ更新をプッシュします:
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;

// ライブ更新をプッシュします:
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でWebUIの構築を開始しましょう。