sgcQUIC feature-matrix

Alles wat sgcQUIC doet, uitgezet tussen de vier componenten en de RFC's die ze implementeren. Het pure QUIC-paar geeft je streams en datagrammen; het HTTP/3-paar voegt request/response, QPACK en WebTransport toe. Elke mogelijkheid werkt hetzelfde in Delphi, C++ Builder en .NET, en elke licentie bevat volledige broncode. Klik op een component voor zijn eigen pagina met gebruik en voorbeelden.

HTTP/3

RFC 9114 + QPACK

WebTransport

RFC 9220

Standaarden & platforms

TLS 1.3 / OpenSSL 3.5

Vier paletcomponenten

Twee lagen: puur QUIC-transport, en HTTP/3 request/response daarbovenop.

ComponentKlasseFamilieBeschrijving
QUIC-clientTsgcQUICClientQUICPure QUIC-transportclient: streams en datagrammen, 0-RTT, connectiemigratie (RFC 9000).
QUIC-serverTsgcQUICServerQUICPure QUIC-transportserver: bindt aan een UDP-poort, termineert TLS 1.3, genereert events per verbinding en per stream.
HTTP/3-clientTsgcHTTP3ClientHTTP/3HTTP/3-client met QPACK, Alt-Svc, server push, Extended CONNECT en WebTransport (RFC 9114).
HTTP/3-serverTsgcHTTP3ServerHTTP/3HTTP/3-server: bedient verzoeken over QUIC, server push, WebTransport-sessies en datagrammen.

QUIC-transport (RFC 9000)

De transportlaag, rechtstreeks beschikbaar om je eigen protocol bovenop QUIC te bouwen.

MogelijkheidClientServerOpmerkingen
Enkele gecombineerde transport- + TLS 1.3-handshake✓✓Eén flight voltooit de verbinding; geen aparte TLS-round trip.
Onafhankelijke bidirectionele streams✓✓Een verloren pakket blokkeert alleen de streams waarvan het data bevatte.
Unidirectionele streams✓✓OpenStream(aUnidirectional := True) op de builtin-engine.
Meerdere streams per verbinding✓✓EnableMultiStream / OpenStream op de qmBuiltin-engine.
0-RTT-hervatting✓✓Een hervatte sessie kan early data meesturen in de eerste flight.
Connectiemigratie✓✓Gebaseerd op connection ID; overleeft een netwerkwissel van de client.
Bytes verzenden / ontvangenWriteDataWriteData(connection, …)String- of TBytes-payloads op een stream.
Events voor de levenscyclus van de verbindingOnQUICConnect / OnQUICDisconnectOnQUICConnect / OnQUICDisconnectPlus OnQUICException voor transportfouten.
Event voor binnenkomende streamdataOnQUICStreamDataOnQUICStreamData / OnQUICDataWordt geactiveerd zodra streambytes binnenkomen.

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

HTTP-semantiek over QUIC, met de HTTP/3-specifieke machinerie beschikbaar als methoden en events.

MogelijkheidClientServerOpmerkingen
VerzoekmethodenGET, HEAD, POST, PUT, DELETE, PATCH, OPTIONS, TRACE, CONNECT, QUERY✓Elk een blokkerende aanroep op de client, de meeste met een asynchrone variant.
QPACK-headercompressie✓✓RFC 9204, met dynamische-tabelupdates op speciale encoder-/decoderstreams.
Alt-Svc-discoveryOnAltSvcadverteertRFC 7838; de client parseert de header en laat je app beslissen wanneer te wisselen.
Server pushSetMaxPushId / OnPushPromise / OnPushpush vanuit OnH3RequestDe client adverteert een limiet en kan gepushte responses weigeren.
Extended CONNECT-tunnelsExtendedConnect / TunnelSend / OnTunnelDataOnH3TunnelData / TunnelSendRFC 9220 tunnelt een ander protocol door een requeststream.
Requestevent—OnH3RequestWordt geactiveerd per verzoek; de applicatie vult de response.
Nette afsluitingOnGoAwayGOAWAYRFC 9114-signalering voor het afsluiten van de verbinding.
Certificaat / sleutel—QUICOptions.SSLOptions.CertFile / KeyFilePEM-certificaat en private key voor de listener.

WebTransport (RFC 9220)

Sessies onderhandeld via Extended CONNECT die de applicatie rechtstreeks QUIC-streams geven.

MogelijkheidClientServerOpmerkingen
Sessie opzettenWebTransportConnectOnWebTransportSessionOpgestart via een HTTP/3 Extended CONNECT-verzoek.
Bidirectionele streams✓✓Bidirectioneel verkeer met lage latency op de builtin-engine.
Datagrammen✓SendDatagramOnbetrouwbare datagrammen naast de streams van de sessie.
Builtin-engine vereist✓✓Een sessie heeft meerdere streams op één verbinding nodig (qmBuiltin).

Standaarden, TLS en platforms

Een op standaarden gebaseerde stack op de native OpenSSL 3.5 QUIC-engine.

GebiedDetail
RFC 9000QUIC-transport — streams, connection ID's, migratie, gecombineerde transport- + TLS-handshake.
RFC 9114HTTP/3 — HTTP-semantiek gemapt op QUIC-streams.
RFC 9204QPACK — headercompressie voor HTTP/3.
RFC 9220Bootstrapping van WebTransport over HTTP/3 (Extended CONNECT).
RFC 7838Alt-Svc — beschikbaarheid van HTTP/3, geadverteerd door de server.
TLSTLS 1.3, ingebouwd in de QUIC-handshake.
Crypto-engineNative QUIC in OpenSSL 3.5 (qmBuiltin, multi-stream). Er bestaat een qmCustom-pad voor builds in quictls-stijl, beperkt tot één stream per verbinding.
PlatformsWin32, Win64 en Linux64, plus macOS, iOS en Android waar de OpenSSL 3.5 QUIC-engine beschikbaar is.
TalenDelphi en C++ Builder (7 tot en met 13), en .NET met de identiek genoemde Tsgc-klassen.
De beste deal: All-AccessElk eSeGeCe-product, inclusief Premium-ondersteuning, vanaf €1,059 per jaar.
Bekijk de All-Access-prijzen

Bouw met sgcQUIC

Download de gratis proefversie en stuur verkeer over QUIC en HTTP/3 in Delphi, C++ Builder of .NET.