sgcQUIC Matrice delle funzionalità

Tutto ciò che fa sgcQUIC, mappato tra i quattro componenti e gli RFC che implementano. La coppia QUIC pura offre stream e datagrammi; la coppia HTTP/3 aggiunge richiesta/risposta, QPACK e WebTransport. Ogni funzionalità si comporta allo stesso modo in Delphi, C++ Builder e .NET, e ogni licenza include il codice sorgente completo. Clicca su un componente per la sua pagina dedicata con utilizzo ed esempi.

HTTP/3

RFC 9114 + QPACK

WebTransport

RFC 9220

Standard e piattaforme

TLS 1.3 / OpenSSL 3.5

Quattro componenti a palette

Due livelli: trasporto QUIC puro, e richiesta/risposta HTTP/3 costruita sopra di esso.

ComponenteClasseFamigliaDescrizione
Client QUICTsgcQUICClientQUICClient di trasporto QUIC puro: stream e datagrammi, 0-RTT, migrazione della connessione (RFC 9000).
Server QUICTsgcQUICServerQUICServer di trasporto QUIC puro: si lega a una porta UDP, termina TLS 1.3, genera eventi per connessione e per stream.
Client HTTP/3TsgcHTTP3ClientHTTP/3Client HTTP/3 con QPACK, Alt-Svc, server push, Extended CONNECT e WebTransport (RFC 9114).
Server HTTP/3TsgcHTTP3ServerHTTP/3Server HTTP/3: serve le richieste su QUIC, server push, sessioni WebTransport e datagrammi.

Trasporto QUIC (RFC 9000)

Il livello di trasporto, esposto direttamente per costruire il tuo protocollo sopra QUIC.

FunzionalitàClientServerNote
Handshake unico combinato di trasporto + TLS 1.3✓✓Un solo invio completa la connessione; nessun round trip TLS separato.
Stream bidirezionali indipendenti✓✓Un pacchetto perso blocca solo gli stream i cui dati trasportava.
Stream unidirezionali✓✓OpenStream(aUnidirectional := True) sul motore builtin.
Più stream per connessione✓✓EnableMultiStream / OpenStream sul motore qmBuiltin.
Ripresa 0-RTT✓✓Una sessione ripresa può trasportare dati anticipati nel primo invio.
Migrazione della connessione✓✓Basata su connection ID; sopravvive al cambio di rete del client.
Invio / ricezione byteWriteDataWriteData(connection, …)Payload String o TBytes su uno stream.
Eventi del ciclo di vita della connessioneOnQUICConnect / OnQUICDisconnectOnQUICConnect / OnQUICDisconnectPiù OnQUICException per gli errori di trasporto.
Evento dati stream in ingressoOnQUICStreamDataOnQUICStreamData / OnQUICDataSi attiva all'arrivo dei byte dello stream.

HTTP/3 (RFC 9114) e QPACK (RFC 9204)

Semantica HTTP su QUIC, con i meccanismi specifici di HTTP/3 esposti come metodi ed eventi.

FunzionalitàClientServerNote
Metodi di richiestaGET, HEAD, POST, PUT, DELETE, PATCH, OPTIONS, TRACE, CONNECT, QUERY✓Ognuno una chiamata bloccante sul client, la maggior parte con una variante asincrona.
Compressione delle intestazioni QPACK✓✓RFC 9204, con aggiornamenti della tabella dinamica su stream dedicati di encoder/decoder.
Discovery Alt-SvcOnAltSvcannunciaRFC 7838; il client analizza l'intestazione e lascia che la tua app decida quando passare.
Server pushSetMaxPushId / OnPushPromise / OnPushpush da OnH3RequestIl client annuncia un limite e può rifiutare le risposte inviate in push.
Tunnel Extended CONNECTExtendedConnect / TunnelSend / OnTunnelDataOnH3TunnelData / TunnelSendRFC 9220 tunnelizza un altro protocollo attraverso uno stream di richiesta.
Evento richiesta—OnH3RequestSi attiva per ogni richiesta; l'applicazione compila la risposta.
Chiusura controllataOnGoAwayGOAWAYSegnalazione di chiusura connessione di RFC 9114.
Certificato / chiave—QUICOptions.SSLOptions.CertFile / KeyFileCertificato PEM e chiave privata per il listener.

WebTransport (RFC 9220)

Sessioni negoziate tramite Extended CONNECT che consegnano direttamente all'applicazione stream QUIC.

FunzionalitàClientServerNote
Stabilire una sessioneWebTransportConnectOnWebTransportSessionAvviata tramite una richiesta Extended CONNECT di HTTP/3.
Stream bidirezionali✓✓Traffico bidirezionale a bassa latenza sul motore builtin.
Datagrammi✓SendDatagramDatagrammi non affidabili insieme agli stream della sessione.
Richiede il motore builtin✓✓Una sessione necessita di più stream su una connessione (qmBuiltin).

Standard, TLS e piattaforme

Uno stack basato su standard sul motore QUIC nativo di OpenSSL 3.5.

AreaDettaglio
RFC 9000Trasporto QUIC — stream, connection ID, migrazione, handshake combinato di trasporto + TLS.
RFC 9114HTTP/3 — semantica HTTP mappata sugli stream QUIC.
RFC 9204QPACK — compressione delle intestazioni per HTTP/3.
RFC 9220Avvio di WebTransport su HTTP/3 (Extended CONNECT).
RFC 7838Alt-Svc — disponibilità di HTTP/3 annunciata dal server.
TLSTLS 1.3, integrato nell'handshake QUIC.
Motore crittograficoQUIC nativo in OpenSSL 3.5 (qmBuiltin, multi-stream). Esiste un percorso qmCustom per build in stile quictls, limitato a un singolo stream per connessione.
PiattaformeWin32, Win64 e Linux64, oltre a macOS, iOS e Android dove il motore QUIC di OpenSSL 3.5 è disponibile.
LinguaggiDelphi e C++ Builder (dalla 7 alla 13), e .NET con le classi Tsgc dallo stesso nome.
La scelta più conveniente: All-AccessTutti i prodotti eSeGeCe, con Supporto Premium incluso, a partire da €1,059/anno.
Vedi i prezzi All-Access

Sviluppa con sgcQUIC

Scarica la versione di prova gratuita e inizia a inviare traffico su QUIC e HTTP/3 in Delphi, C++ Builder o .NET.