sgcQUIC — QUIC e HTTP/3 per Delphi, C++ Builder e .NET

sgcQUIC — QUIC e HTTP/3 per Delphi, C++ Builder e .NET

Uno stack completo QUIC e HTTP/3 per Delphi, C++ Builder e .NET. sgcQUIC offre quattro componenti a palette — un client e un server di trasporto QUIC puro (RFC 9000) più un client e un server HTTP/3 (RFC 9114) — costruiti sul motore QUIC nativo di OpenSSL 3.5. Compressione delle intestazioni QPACK, discovery Alt-Svc, 0-RTT, migrazione della connessione e WebTransport sono inclusi di serie, e la stessa API funziona in Object Pascal e C#.

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

La stessa semantica HTTP, un nuovo trasporto

HTTP/3 conserva i metodi, i codici di stato e le intestazioni che già conosci e sostituisce TCP con QUIC, un trasporto basato su UDP con TLS 1.3 integrato. sgcQUIC lo gestisce tramite il supporto QUIC nativo di OpenSSL 3.5, così ottieni un trasporto moderno da Delphi, C++ Builder o .NET senza una libreria separata.

Un solo handshake, senza head-of-line blocking

QUIC (RFC 9000) combina in un unico invio l'handshake di trasporto e quello TLS 1.3 ed elimina l'head-of-line blocking a livello di trasporto — un pacchetto perso blocca solo gli stream i cui dati trasportava, non l'intera connessione.

Basato sul QUIC nativo di OpenSSL 3.5

Il motore viene rilevato automaticamente al caricamento di OpenSSL. Con i binari OpenSSL 3.5 forniti ottieni il motore qmBuiltin, che supporta più stream per connessione ed è il motore attorno al quale sono costruiti i componenti.

Compressione delle intestazioni QPACK

HTTP/3 comprime le intestazioni con QPACK (RFC 9204), il sostituto di HPACK per HTTP/3, progettato per la consegna fuori ordine di QUIC, con aggiornamenti della tabella dinamica trasportati su stream dedicati di encoder e decoder.

Migrazione della connessione

Le connessioni QUIC sono identificate da un connection ID anziché dalla quadrupla di indirizzi, così una sessione sopravvive al cambio di rete del client — una connessione può seguire un dispositivo dal Wi-Fi ai dati mobili senza un nuovo handshake.

0-RTT e stream multipli

Una nuova connessione si completa in un solo round trip e una sessione ripresa può trasportare dati 0-RTT nel primo invio. Sul motore builtin, EnableMultiStream e OpenStream mettono più stream QUIC indipendenti su un'unica connessione.

Sessioni WebTransport

WebTransport (RFC 9220) viene negoziato tramite Extended CONNECT e consegna direttamente all'applicazione stream QUIC, pensato per traffico bidirezionale a bassa latenza sopra il motore builtin.

Quattro componenti, due livelli

Una coppia di trasporto QUIC puro per stream e datagrammi, e una coppia HTTP/3 che parla richiesta/risposta sullo stesso motore. Ognuno rimanda alla propria pagina con esempi Delphi, C++ Builder e .NET.

TsgcQUICClient

Client di trasporto QUIC puro. Apre una connessione QUIC, invia e riceve byte su uno o più stream (RFC 9000), con 0-RTT e migrazione della connessione — QUIC senza semantica HTTP.

Vedi il componente →

TsgcQUICServer

Server di trasporto QUIC puro. Si lega a una porta UDP, termina TLS 1.3 e genera un evento per ogni connessione e stream QUIC, così puoi costruire il tuo protocollo sopra QUIC.

Vedi il componente →

TsgcHTTP3Client

Client HTTP/3 (RFC 9114). Tutti i verbi come chiamate bloccanti o asincrone, compressione QPACK, discovery Alt-Svc, server push, tunnel Extended CONNECT e sessioni WebTransport.

Vedi il componente →

TsgcHTTP3Server

Server HTTP/3. Serve le richieste su QUIC, discende da TsgcQUICServer, genera un evento per richiesta e può inviare push di risposte, aprire sessioni WebTransport e inviare datagrammi.

Vedi il componente →

Vedi la matrice completa delle funzionalità →

Una richiesta GET su HTTP/3

Connettiti a un host e una porta, poi invia le richieste. La porta predefinita è 443. La stessa API in Delphi, C++ Builder e .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();

Gli RFC implementati da sgcQUIC

Uno stack basato su standard, non un trasporto proprietario.

RFC 9000 — QUIC

Il trasporto QUIC: un unico handshake combinato di trasporto + TLS 1.3, stream indipendenti, connection ID e migrazione. Esposto direttamente tramite TsgcQUICClient e TsgcQUICServer.

RFC 9114 — HTTP/3

Semantica HTTP su QUIC: i metodi, i codici di stato e le intestazioni che conosci, mappati sugli stream QUIC. Implementato da TsgcHTTP3Client e TsgcHTTP3Server.

RFC 9204 — QPACK

Compressione delle intestazioni per HTTP/3, progettata per la consegna fuori ordine di QUIC, con una tabella dinamica sincronizzata su stream dedicati di encoder e decoder.

RFC 9220 — WebTransport

Avvio di WebTransport su HTTP/3 con Extended CONNECT, che consegna all'applicazione stream QUIC per traffico bidirezionale a bassa latenza.

Un componente aggiuntivo a sgcWebSockets

sgcQUIC è concesso in licenza come componente aggiuntivo. Tutte le licenze includono codice sorgente completo, 1 anno di aggiornamenti e uno sconto di rinnovo del 70%.

sgcQUIC

€149

Licenze Single, Team e Site disponibili. Codice sorgente completo incluso.

  • TsgcQUICClient & TsgcQUICServer
  • TsgcHTTP3Client & TsgcHTTP3Server
  • Delphi, C++ Builder e .NET
  • Codice sorgente completo
  • 1 anno di aggiornamenti

★ Richiede sgcWebSockets

sgcQUIC richiede sgcWebSockets Enterprise.

Vedi prezzi e ordina
3,000+Developers
20+Years
761+Components
30+API Integrations
5Platforms
Garanzia soddisfatti o rimborsati di 30 giorniNon sei soddisfatto? Richiedi un rimborso completo entro 30 giorni dall'acquisto. Vedi la politica di rimborso

Distribuisci QUIC e HTTP/3 senza uscire dal tuo IDE

Aggiungi il trasporto verso cui si sta muovendo il web moderno — alla tua applicazione Delphi, C++ Builder o .NET, con il linguaggio che già usi.

Altri prodotti eSeGeCe

Abbina sgcQUIC alle nostre altre librerie di componenti per Delphi, C++ Builder e .NET.

sgcWebSockets

Componenti Enterprise per WebSocket, HTTP/2, MQTT, AMQP, WebRTC e AI/LLM. sgcQUIC è un componente aggiuntivo a sgcWebSockets Enterprise.

Scopri di più →

sgcHTML

89 componenti HTML/UI server-side data-aware per Delphi, C++ Builder e .NET, con Bootstrap 5 e htmx.

Scopri di più →

sgcSign

Firme digitali Enterprise — XAdES, PAdES, CAdES e ASiC con 10 provider di chiavi e 21 profili per paese UE.

Scopri di più →

sgcOpenAPI

Parser OpenAPI 3.0 e generatore di SDK. Trasforma qualsiasi specifica OpenAPI in un client Delphi fortemente tipizzato in pochi secondi.

Scopri di più →

sgcBiometrics

Componenti nativi per Windows Hello, impronta digitale e Windows Biometric Framework per Delphi e C++ Builder.

Scopri di più →

sgcIndy

Componenti Indy TCP/IP aggiornati con TLS moderno, IPv6 e HTTP/2, da Delphi 7 a 13.

Scopri di più →