Componente servidor HTTP/3 — sgcQUIC | eSeGeCe

Servidor HTTP/3

TsgcHTTP3Server — un servidor HTTP/3 (RFC 9114) que sirve peticiones sobre QUIC. Desciende de TsgcQUICServer, enlaza un puerto UDP, carga un certificado y una clave, y lanza un evento por cada petición, con server push, sesiones de WebTransport y datagramas, en Delphi, C++ Builder y .NET.

TsgcHTTP3Server

Enlaza un puerto UDP, carga un certificado y una clave PEM, y responde a cada petición en OnH3Request. QPACK, server push y WebTransport vienen integrados. Construido sobre el motor QUIC nativo de OpenSSL 3.5.

Clase del componente

TsgcHTTP3Server

Protocolo

HTTP/3 (RFC 9114) sobre QUIC

Familia

HTTP/3

Lenguajes

Delphi, C++ Builder, .NET

Un servidor HTTP/3 en unas pocas líneas

El servidor enlaza un puerto UDP, carga un certificado y una clave, y lanza OnH3Request por cada petición. Las sesiones de WebTransport llegan a través de OnWebTransportSession.

uses
  sgcHTTP3_Server;

var
  oServer: TsgcHTTP3Server;
begin
  oServer := TsgcHTTP3Server.Create(nil);
  oServer.Port := 443;
  oServer.QUICOptions.SSLOptions.CertFile := 'cert.pem';
  oServer.QUICOptions.SSLOptions.KeyFile  := 'key.pem';

  oServer.OnH3Request := OnH3RequestHandler;   // fill the response here
  oServer.Active := True;
end;
// includes: sgcHTTP3_Server.hpp

TsgcHTTP3Server *oServer = new TsgcHTTP3Server(NULL);
oServer->Port = 443;
oServer->QUICOptions->SSLOptions->CertFile = "cert.pem";
oServer->QUICOptions->SSLOptions->KeyFile  = "key.pem";

oServer->OnH3Request = OnH3RequestHandler;   // fill the response here
oServer->Active = true;
using esegece.sgcWebSockets;

var oServer = new TsgcHTTP3Server();
oServer.Port = 443;
oServer.QUICOptions.SSLOptions.CertFile = "cert.pem";
oServer.QUICOptions.SSLOptions.KeyFile  = "key.pem";

oServer.OnH3Request += OnH3RequestHandler;   // fill the response here
oServer.Active = true;

Propiedades y métodos clave

Los miembros que más usarás.

Listener

Port y Active enlazan y liberan el listener UDP; el servidor desciende de TsgcQUICServer.

TLS

QUICOptions.SSLOptions.CertFile y KeyFile cargan el certificado PEM y la clave privada para el handshake de TLS 1.3.

Peticiones

OnH3Request se dispara por cada petición con la petición ya analizada; la aplicación rellena la respuesta y puede hacer push de respuestas adicionales desde dentro del manejador.

Túneles y datagramas

OnH3TunnelData y TunnelSend(aConnection, …) gobiernan los túneles Extended CONNECT; SendDatagram envía un datagrama no fiable.

WebTransport

OnWebTransportSession te entrega una sesión de WebTransport (RFC 9220) con sus propios streams QUIC en el motor builtin.

Eventos

OnH3Connect, OnH3Disconnect y OnH3Exception informan del ciclo de vida de la conexión y de los errores.

Sigue explorando

Ayuda en líneaReferencia completa de la API y guía de uso de sgcQUIC.
Todos los componentes sgcQUICExplora la matriz de características completa de los cuatro componentes.
Descargar prueba gratuitaLevanta un servidor HTTP/3 y accede a él con cualquier cliente HTTP/3.
PreciosLicencias Single, Team y Site con código fuente completo.
La mejor opción: All-AccessTodos los productos de eSeGeCe, con Premium Support incluido, desde €1,059 al año.
Ver precios de All-Access

¿Listo para empezar?

Descarga la prueba gratuita y sirve HTTP/3 desde Delphi, C++ Builder y .NET.