sgcQUIC — QUIC y HTTP/3 para Delphi, C++ Builder y .NET

sgcQUIC — QUIC y HTTP/3 para Delphi, C++ Builder y .NET

Una pila completa de QUIC y HTTP/3 para Delphi, C++ Builder y .NET. sgcQUIC te ofrece cuatro componentes de paleta — un cliente y un servidor de transporte QUIC puro (RFC 9000) más un cliente y un servidor HTTP/3 (RFC 9114) — construidos sobre el motor QUIC nativo de OpenSSL 3.5. La compresión de cabeceras QPACK, el descubrimiento con Alt-Svc, 0-RTT, la migración de conexión y WebTransport vienen incluidos, y la misma API funciona en Object Pascal y C#.

Transporte QUIC (RFC 9000)
HTTP/3 (RFC 9114) + QPACK
QUIC nativo de OpenSSL 3.5
Delphi / C++ Builder / .NET
WebTransport (RFC 9220)

La misma semántica HTTP, un nuevo transporte

HTTP/3 conserva los métodos, códigos de estado y cabeceras que ya conoces y sustituye TCP por QUIC, un transporte basado en UDP con TLS 1.3 integrado. sgcQUIC lo gobierna a través del soporte QUIC nativo de OpenSSL 3.5, de modo que obtienes un transporte moderno desde Delphi, C++ Builder o .NET sin una biblioteca aparte.

Un solo handshake, sin bloqueo de cabecera de línea

QUIC (RFC 9000) combina los handshakes de transporte y de TLS 1.3 en un único envío y elimina el bloqueo de cabecera de línea a nivel de transporte — un paquete perdido solo detiene los streams cuyos datos transportaba, no toda la conexión.

Construido sobre el QUIC nativo de OpenSSL 3.5

El motor se detecta automáticamente cuando se carga OpenSSL. Con los binarios de OpenSSL 3.5 incluidos obtienes el motor qmBuiltin, que admite múltiples streams por conexión y es el motor en torno al cual se construyen los componentes.

Compresión de cabeceras QPACK

HTTP/3 comprime las cabeceras con QPACK (RFC 9204), el sustituto de HPACK en HTTP/3, diseñado para la entrega desordenada de QUIC, con actualizaciones de la tabla dinámica transportadas en streams dedicados de codificador y decodificador.

Migración de conexión

Las conexiones QUIC se identifican mediante un connection ID en lugar de la cuádrupla de direcciones, de modo que una sesión sobrevive al cambio de red del cliente — una conexión puede seguir a un dispositivo de la Wi-Fi a los datos móviles sin un nuevo handshake.

0-RTT y múltiples streams

Una conexión nueva se completa en un único viaje de ida y vuelta y una sesión reanudada puede transportar datos 0-RTT en el primer envío. En el motor builtin, EnableMultiStream y OpenStream colocan varios streams QUIC independientes en una sola conexión.

Sesiones de WebTransport

WebTransport (RFC 9220) se negocia mediante Extended CONNECT y entrega directamente a la aplicación streams QUIC, pensado para tráfico bidireccional de baja latencia sobre el motor builtin.

Cuatro componentes, dos capas

Un par de transporte QUIC puro para streams y datagramas, y un par HTTP/3 que habla petición/respuesta sobre el mismo motor. Cada uno enlaza a su propia página con ejemplos de Delphi, C++ Builder y .NET.

TsgcQUICClient

Cliente de transporte QUIC puro. Abre una conexión QUIC, envía y recibe bytes sobre uno o varios streams (RFC 9000), con 0-RTT y migración de conexión — QUIC sin semántica HTTP.

Ver componente →

TsgcQUICServer

Servidor de transporte QUIC puro. Se enlaza a un puerto UDP, termina TLS 1.3 y lanza un evento por cada conexión y stream QUIC, de modo que construyes tu propio protocolo sobre QUIC.

Ver componente →

TsgcHTTP3Client

Cliente HTTP/3 (RFC 9114). Todos los verbos como llamadas bloqueantes o asíncronas, compresión QPACK, descubrimiento con Alt-Svc, server push, túneles Extended CONNECT y sesiones de WebTransport.

Ver componente →

TsgcHTTP3Server

Servidor HTTP/3. Sirve peticiones sobre QUIC, desciende de TsgcQUICServer, lanza un evento por petición y puede hacer push de respuestas, abrir sesiones de WebTransport y enviar datagramas.

Ver componente →

Ver la matriz de características completa →

Una petición GET sobre HTTP/3

Conéctate a un host y un puerto, luego lanza peticiones. El puerto por defecto es 443. La misma API en Delphi, C++ Builder y .NET.

uses
  sgcHTTP3_Client;

var
  oClient: TsgcHTTP3Client;
  vBody: string;
begin
  oClient := TsgcHTTP3Client.Create(nil);
  oClient.OnResponse := OnResponseHandler;
  oClient.OnAltSvc   := OnAltSvcHandler;

  oClient.Connect('www.example.com', 443);
  vBody := oClient.Get('https://www.example.com/');   // request over QUIC
  oClient.Disconnect;
end;
// includes: sgcHTTP3_Client.hpp

TsgcHTTP3Client *oClient = new TsgcHTTP3Client(NULL);
oClient->OnResponse = OnResponseHandler;
oClient->OnAltSvc   = OnAltSvcHandler;

oClient->Connect("www.example.com", 443);
String vBody = oClient->Get("https://www.example.com/");   // request over QUIC
oClient->Disconnect();
using esegece.sgcWebSockets;

var oClient = new TsgcHTTP3Client();
oClient.OnResponse += OnResponseHandler;
oClient.OnAltSvc   += OnAltSvcHandler;

oClient.Connect("www.example.com", 443);
var vBody = oClient.Get("https://www.example.com/");   // request over QUIC
oClient.Disconnect();

Los RFC que implementa sgcQUIC

Una pila basada en estándares, no un transporte propietario.

RFC 9000 — QUIC

El transporte QUIC: un único handshake combinado de transporte + TLS 1.3, streams independientes, connection IDs y migración. Se expone directamente a través de TsgcQUICClient y TsgcQUICServer.

RFC 9114 — HTTP/3

Semántica HTTP sobre QUIC: los métodos, códigos de estado y cabeceras que conoces, mapeados sobre streams QUIC. Lo implementan TsgcHTTP3Client y TsgcHTTP3Server.

RFC 9204 — QPACK

Compresión de cabeceras para HTTP/3, diseñada para la entrega desordenada de QUIC, con una tabla dinámica sincronizada mediante streams dedicados de codificador y decodificador.

RFC 9220 — WebTransport

Arranque de WebTransport sobre HTTP/3 con Extended CONNECT, que entrega a la aplicación streams QUIC para tráfico bidireccional de baja latencia.

Un complemento de sgcWebSockets

sgcQUIC se licencia como complemento. Todas las licencias incluyen código fuente completo, 1 año de actualizaciones y un 70% de descuento en la renovación.

sgcQUIC

€149

Licencias Single, Team y Site disponibles. Código fuente completo incluido.

  • TsgcQUICClient & TsgcQUICServer
  • TsgcHTTP3Client & TsgcHTTP3Server
  • Delphi, C++ Builder y .NET
  • Código fuente completo
  • 1 año de actualizaciones

★ Requiere sgcWebSockets

sgcQUIC requiere sgcWebSockets Enterprise.

Ver precios y comprar
3,000+Developers
20+Years
761+Components
30+API Integrations
5Platforms
Garantía de devolución de 30 días¿No estás satisfecho? Solicita un reembolso completo en los 30 días posteriores a la compra. Ver política de reembolso

Lanza QUIC y HTTP/3 sin salir de tu IDE

Añade el transporte hacia el que se está moviendo la web moderna — a tu aplicación de Delphi, C++ Builder o .NET, con el lenguaje que ya usas.

Otros productos de eSeGeCe

Combina sgcQUIC con nuestras otras bibliotecas de componentes para Delphi, C++ Builder y .NET.

sgcWebSockets

Componentes empresariales de WebSocket, HTTP/2, MQTT, AMQP, WebRTC e IA/LLM. sgcQUIC es un complemento de sgcWebSockets Enterprise.

Más información →

sgcHTML

89 componentes HTML/UI del lado del servidor con vinculación a datos para Delphi, C++ Builder y .NET, con Bootstrap 5 y htmx.

Más información →

sgcSign

Firmas digitales empresariales — XAdES, PAdES, CAdES y ASiC con 10 proveedores de claves y 21 perfiles por país de la UE.

Más información →

sgcOpenAPI

Parser de OpenAPI 3.0 y generador de SDK. Convierte cualquier especificación OpenAPI en un cliente Delphi fuertemente tipado en segundos.

Más información →

sgcBiometrics

Componentes nativos de Windows Hello, huella dactilar y Windows Biometric Framework para Delphi y C++ Builder.

Más información →

sgcIndy

Componentes Indy TCP/IP actualizados con TLS moderno, IPv6 y compatibilidad con HTTP/2 para Delphi 7 a 13.

Más información →