HTMX Engine Server

TsgcHTMX_Engine_Server — HTTP를 통해 htmx 부분 페이지 스왑 요청을 처리하고, WebSocket을 통해 연결된 모든 브라우저에 실시간 out-of-band 프래그먼트를 브로드캐스트합니다.

TsgcHTMX_Engine_Server

htmx의 HTTP 기반 부분 업데이트와 WebSocket 서버 푸시를 연결합니다. 수신되는 htmx 요청은 OnHTMXMessage로 디스패치되며, 핸들러는 스왑할 프래그먼트만 반환합니다. 언제든지 BroadcastFragment를 호출하여 연결된 모든 브라우저에 실시간 out-of-band 업데이트를 전송하세요.

컴포넌트 클래스

TsgcHTMX_Engine_Server

역할

htmx 스왑 + 실시간 서버 푸시

제품군

인프라 & 엔진

언어

Delphi, C++ Builder, .NET

htmx 요청 처리 및 실시간 프래그먼트 푸시

엔진을 WebSocket 서버에 연결하고, OnHTMXMessage에서 부분 스왑 요청을 처리한 후, BroadcastFragment를 호출하여 연결된 모든 브라우저에 업데이트를 전송하세요.

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

주요 속성 및 메서드

가장 자주 사용하는 멤버.

Server

이 엔진이 연결되는 TsgcHTTPServer로, HTTP 부분 스왑 요청을 처리합니다. WebSocket 서버가 설치되어 있으면 TsgcWSHTTPServer를 할당하여 WebSocket 푸시를 추가할 수 있습니다.

OnHTMXMessage

모든 htmx 트리거 HTTP 요청에 대해 발생하는 이벤트로, 핸들러는 스왑할 프래그먼트 HTML만 반환합니다.

BroadcastFragment

현재 연결된 모든 WebSocket 클라이언트에 동시에 out-of-band htmx 페이로드를 전송합니다.

HandleRequest

각 요청에 대해 호스트 서버가 호출하며, htmx 헤더를 식별하여 OnHTMXMessage로 라우팅하거나 통과시킵니다.

hx-swap-oob

htmx의 out-of-band 스왑 속성으로, 프래그먼트 id는 페이지의 대상 요소 id와 일치해야 합니다.

스레드 안전성

BroadcastFragment는 스레드 안전하므로 백그라운드 타이머, 푸시 스레드 또는 이벤트 핸들러에서 잠금 없이 호출할 수 있습니다.

Auth

TsgcHTMLAuth를 Auth에 지정하면 엔진이 모든 요청에 세션, CSRF 검사, 라우트의 로그인 및 역할 규칙을 적용합니다. MessageSession은 WebSocket 연결의 세션을 반환합니다.

SSE

SSE.Enabled는 이벤트 스트림을 제공하며, Template.Transport가 htSSE 또는 htAuto이면 페이지가 서버 전송 이벤트로 프래그먼트를 받을 수 있습니다. PushFragment와 BroadcastFragment는 그대로입니다.

DispatchDirect

소켓 없이 라우터와 엔진을 통해 요청을 실행하며, 페이지의 테스트가 이를 호출하는 방식이 바로 이것입니다.

계속 탐색하기

온라인 도움말이 컴포넌트의 전체 API 참조 및 사용 가이드입니다.
모든 sgcHTML 컴포넌트80개 이상의 컴포넌트 전체 기능 매트릭스를 살펴보세요.
무료 체험판 다운로드30일 체험판에는 60.HTML 데모 프로젝트가 포함되어 있습니다.
가격전체 소스 코드가 포함된 단일, 팀 및 사이트 라이선스.
최고의 가성비: All-Access모든 eSeGeCe 제품과 프리미엄 지원이 포함되어 연 €1,059부터 이용할 수 있어요.
All-Access 가격 보기

시작할 준비가 되셨나요?

무료 체험판을 다운로드하고 Delphi, C++ Builder 및 .NET에서 웹 UI 빌드를 시작하세요.