HTMX Engine Server

TsgcHTMX_Engine_Server — HTTP를 통해 htmx 부분 페이지 스왑 요청을 처리하고, WebSocket을 통해 연결된 모든 브라우저에 실시간 out-of-band 프래그먼트를 서버 전송 이벤트로 브로드캐스트하며, sgcWebSockets Professional, Enterprise 또는 All-Access에서는 WebSocket으로도 브로드캐스트할 수 있습니다.

TsgcHTMX_Engine_Server

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

컴포넌트 클래스

TsgcHTMX_Engine_Server

역할

htmx 스왑 + 실시간 서버 푸시

제품군

인프라 & 엔진

언어

Delphi, C++ Builder, .NET

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

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

uses
  sgcHTMX_Engine_Server;

var
  oHTMX: TsgcHTMX_Engine_Server;
begin
  oHTMX := TsgcHTMX_Engine_Server.Create(nil);
  oHTMX.Server         := HTTPServer;
  oHTMX.SSE.Enabled    := True;  // live push over server-sent events
  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        = HTTPServer;
oHTMX->SSE->Enabled  = true;  // live push over server-sent events
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 부분 스왑 요청을 처리합니다. sgcWebSockets Professional, Enterprise 또는 All-Access에서는 TsgcWebSocketHTTPServer를 할당하여 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

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

계속 탐색하기

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

시작할 준비가 되셨나요?

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