sgcQUIC — QUIC & HTTP/3 pour Delphi, C++ Builder & .NET

sgcQUIC — QUIC & HTTP/3 pour Delphi, C++ Builder & .NET

Une pile QUIC et HTTP/3 complète pour Delphi, C++ Builder et .NET. sgcQUIC te propose quatre composants de palette — un client et un serveur de transport QUIC pur (RFC 9000) plus un client et un serveur HTTP/3 (RFC 9114) — construits sur le moteur QUIC natif d'OpenSSL 3.5. La compression d'en-têtes QPACK, la découverte Alt-Svc, le 0-RTT, la migration de connexion et WebTransport sont inclus, et la même API fonctionne en Object Pascal et en C#.

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

La même sémantique HTTP, un nouveau transport

HTTP/3 conserve les méthodes, codes de statut et en-têtes que tu connais déjà et remplace TCP par QUIC, un transport basé sur UDP avec TLS 1.3 intégré. sgcQUIC le pilote via le support QUIC natif d'OpenSSL 3.5, pour obtenir un transport moderne depuis Delphi, C++ Builder ou .NET sans bibliothèque séparée.

Un seul handshake, sans blocage de tête de ligne

QUIC (RFC 9000) combine les handshakes de transport et TLS 1.3 en un seul envoi et supprime le blocage de tête de ligne au niveau transport — un paquet perdu ne bloque que les streams dont il transportait les données, pas toute la connexion.

Construit sur le QUIC natif d'OpenSSL 3.5

Le moteur est détecté automatiquement au chargement d'OpenSSL. Avec les binaires OpenSSL 3.5 fournis, tu obtiens le moteur qmBuiltin, qui prend en charge plusieurs streams par connexion et autour duquel les composants sont construits.

Compression d'en-têtes QPACK

HTTP/3 compresse les en-têtes avec QPACK (RFC 9204), le remplaçant de HPACK pour HTTP/3, conçu pour la livraison désordonnée de QUIC, avec des mises à jour de table dynamique transportées sur des streams dédiés d'encodeur et de décodeur.

Migration de connexion

Les connexions QUIC sont identifiées par un connection ID plutôt que par le quadruplet d'adresses, si bien qu'une session survit au changement de réseau du client — une connexion peut suivre un appareil du Wi-Fi aux données mobiles sans nouveau handshake.

0-RTT et streams multiples

Une nouvelle connexion s'établit en un seul aller-retour, et une session reprise peut transporter des données 0-RTT dès le premier envoi. Sur le moteur builtin, EnableMultiStream et OpenStream placent plusieurs streams QUIC indépendants sur une seule connexion.

Sessions WebTransport

WebTransport (RFC 9220) est négocié via Extended CONNECT et remet directement à l'application des streams QUIC, conçu pour le trafic bidirectionnel à faible latence au-dessus du moteur builtin.

Quatre composants, deux couches

Une paire de transport QUIC pur pour les streams et les datagrammes, et une paire HTTP/3 qui parle requête/réponse sur le même moteur. Chacun renvoie à sa propre page avec des exemples Delphi, C++ Builder et .NET.

TsgcQUICClient

Client de transport QUIC pur. Ouvre une connexion QUIC, envoie et reçoit des octets sur un ou plusieurs streams (RFC 9000), avec 0-RTT et migration de connexion — QUIC sans sémantique HTTP.

Voir le composant →

TsgcQUICServer

Serveur de transport QUIC pur. Se lie à un port UDP, termine TLS 1.3 et déclenche un événement pour chaque connexion et chaque stream QUIC, pour que tu construises ton propre protocole au-dessus de QUIC.

Voir le composant →

TsgcHTTP3Client

Client HTTP/3 (RFC 9114). Tous les verbes en appels bloquants ou asynchrones, compression QPACK, découverte Alt-Svc, server push, tunnels Extended CONNECT et sessions WebTransport.

Voir le composant →

TsgcHTTP3Server

Serveur HTTP/3. Sert les requêtes sur QUIC, hérite de TsgcQUICServer, déclenche un événement par requête et peut pousser des réponses, ouvrir des sessions WebTransport et envoyer des datagrammes.

Voir le composant →

Voir la matrice complète des fonctionnalités →

Une requête GET sur HTTP/3

Connecte-toi à un hôte et un port, puis envoie des requêtes. Le port par défaut est 443. La même API en Delphi, C++ Builder et .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();

Les RFC que sgcQUIC implémente

Une pile basée sur des standards, pas un transport propriétaire.

RFC 9000 — QUIC

Le transport QUIC : un unique handshake combiné de transport + TLS 1.3, des streams indépendants, des connection IDs et la migration. Exposé directement via TsgcQUICClient et TsgcQUICServer.

RFC 9114 — HTTP/3

La sémantique HTTP sur QUIC : les méthodes, codes de statut et en-têtes que tu connais, mappés sur des streams QUIC. Implémenté par TsgcHTTP3Client et TsgcHTTP3Server.

RFC 9204 — QPACK

Compression d'en-têtes pour HTTP/3, conçue pour la livraison désordonnée de QUIC, avec une table dynamique synchronisée sur des streams dédiés d'encodeur et de décodeur.

RFC 9220 — WebTransport

Amorçage de WebTransport sur HTTP/3 avec Extended CONNECT, remettant à l'application des streams QUIC pour un trafic bidirectionnel à faible latence.

Un complément de sgcWebSockets

sgcQUIC est proposé sous licence en tant que complément. Toutes les licences incluent le code source complet, 1 an de mises à jour et une réduction de 70% sur le renouvellement.

sgcQUIC

€149

Licences Single, Team et Site disponibles. Code source complet inclus.

  • TsgcQUICClient & TsgcQUICServer
  • TsgcHTTP3Client & TsgcHTTP3Server
  • Delphi, C++ Builder & .NET
  • Code source complet
  • 1 an de mises à jour

★ Nécessite sgcWebSockets

sgcQUIC nécessite sgcWebSockets Enterprise.

Voir les tarifs & commander
3,000+Developers
20+Years
761+Components
30+API Integrations
5Platforms
Garantie satisfait ou remboursé de 30 joursPas satisfait ? Demandez un remboursement intégral dans les 30 jours suivant l'achat. Voir la politique de remboursement

Déploie QUIC et HTTP/3 sans quitter ton IDE

Ajoute le transport vers lequel se dirige le web moderne — à ton application Delphi, C++ Builder ou .NET, avec le langage que tu utilises déjà.

Autres produits eSeGeCe

Associe sgcQUIC à nos autres bibliothèques de composants Delphi, C++ Builder et .NET.

sgcWebSockets

Composants WebSocket, HTTP/2, MQTT, AMQP, WebRTC et IA/LLM pour l'entreprise. sgcQUIC est un complément de sgcWebSockets Enterprise.

En savoir plus →

sgcHTML

89 composants HTML/UI côté serveur orientés données pour Delphi, C++ Builder et .NET, avec Bootstrap 5 et htmx.

En savoir plus →

sgcSign

Signatures numériques pour l'entreprise — XAdES, PAdES, CAdES et ASiC avec 10 fournisseurs de clés et 21 profils pays de l'UE.

En savoir plus →

sgcOpenAPI

Parseur OpenAPI 3.0 et générateur de SDK. Transforme n'importe quelle spécification OpenAPI en client Delphi fortement typé en quelques secondes.

En savoir plus →

sgcBiometrics

Composants natifs Windows Hello, empreinte digitale et Windows Biometric Framework pour Delphi et C++ Builder.

En savoir plus →

sgcIndy

Composants Indy TCP/IP mis à jour avec TLS moderne, IPv6 et HTTP/2, de Delphi 7 à 13.

En savoir plus →