Matryca funkcji sgcQUIC — QUIC, HTTP/3, WebTransport | eSeGeCe

sgcQUIC Matryca funkcji

Wszystko, co robi sgcQUIC, zestawione dla czterech komponentów i RFC, które implementują. Para surowego QUIC daje Ci strumienie i datagramy; para HTTP/3 dodaje żądanie/odpowiedź, QPACK i WebTransport. Każda funkcja działa tak samo w Delphi, C++ Builder i .NET, a każda licencja zawiera pełny kod źródłowy. Kliknij komponent, aby przejść do jego własnej strony z użyciem i przykładami.

HTTP/3

RFC 9114 + QPACK

WebTransport

RFC 9220

Standardy i platformy

TLS 1.3 / OpenSSL 3.5

Cztery komponenty palety

Dwie warstwy: surowy transport QUIC oraz zbudowana na nim komunikacja żądanie/odpowiedź HTTP/3.

KomponentKlasaRodzinaOpis
Klient QUICTsgcQUICClientQUICKlient surowego transportu QUIC: strumienie i datagramy, 0-RTT, migracja połączenia (RFC 9000).
Serwer QUICTsgcQUICServerQUICSerwer surowego transportu QUIC: wiąże się z portem UDP, kończy TLS 1.3, zgłasza zdarzenia dla każdego połączenia i strumienia.
Klient HTTP/3TsgcHTTP3ClientHTTP/3Klient HTTP/3 z QPACK, Alt-Svc, server push, Extended CONNECT i WebTransport (RFC 9114).
Serwer HTTP/3TsgcHTTP3ServerHTTP/3Serwer HTTP/3: obsługuje żądania przez QUIC, server push, sesje WebTransport i datagramy.

Transport QUIC (RFC 9000)

Warstwa transportowa, udostępniona bezpośrednio do budowy własnego protokołu na bazie QUIC.

FunkcjaKlientSerwerUwagi
Jeden połączony handshake transportu + TLS 1.3Jeden przelot kończy połączenie; bez osobnej rundy TLS.
Niezależne strumienie dwukierunkoweZgubiony pakiet zatrzymuje wyłącznie strumienie, których dane przenosił.
Strumienie jednokierunkoweOpenStream(aUnidirectional := True) na silniku wbudowanym.
Wiele strumieni na jedno połączenieEnableMultiStream / OpenStream na silniku qmBuiltin.
Wznowienie 0-RTTWznowiona sesja może przenosić wczesne dane już w pierwszym przelocie.
Migracja połączeniaOparta na connection ID; przetrwa zmianę sieci przez klienta.
Wysyłanie / odbieranie bajtówWriteDataWriteData(connection, …)Ładunki typu String lub TBytes na strumieniu.
Zdarzenia cyklu życia połączeniaOnQUICConnect / OnQUICDisconnectOnQUICConnect / OnQUICDisconnectOraz OnQUICException dla błędów transportu.
Zdarzenie przychodzących danych strumieniaOnQUICStreamDataOnQUICStreamData / OnQUICDataUruchamiane w miarę napływania bajtów strumienia.

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

Semantyka HTTP nad QUIC, z mechanizmami specyficznymi dla HTTP/3 udostępnionymi jako metody i zdarzenia.

FunkcjaKlientSerwerUwagi
Metody żądańGET, HEAD, POST, PUT, DELETE, PATCH, OPTIONS, TRACE, CONNECT, QUERYKażda jako wywołanie blokujące na kliencie, większość z wariantem asynchronicznym.
Kompresja nagłówków QPACKRFC 9204, z aktualizacjami tabeli dynamicznej na dedykowanych strumieniach kodera/dekodera.
Wykrywanie Alt-SvcOnAltSvcogłaszaRFC 7838; klient analizuje nagłówek i pozwala Twojej aplikacji zdecydować, kiedy przełączyć.
Server pushSetMaxPushId / OnPushPromise / OnPushpush z OnH3RequestKlient ogłasza limit i może odrzucić wypychane odpowiedzi.
Tunele Extended CONNECTExtendedConnect / TunnelSend / OnTunnelDataOnH3TunnelData / TunnelSendRFC 9220 tuneluje inny protokół przez strumień żądania.
Zdarzenie żądaniaOnH3RequestUruchamiane dla każdego żądania; aplikacja wypełnia odpowiedź.
Uporządkowane zamknięcieOnGoAwayGOAWAYSygnalizacja zamknięcia połączenia z RFC 9114.
Certyfikat / kluczQUICOptions.SSLOptions.CertFile / KeyFileCertyfikat PEM i klucz prywatny dla nasłuchu.

WebTransport (RFC 9220)

Sesje negocjowane przez Extended CONNECT, które przekazują aplikacji strumienie QUIC bezpośrednio.

FunkcjaKlientSerwerUwagi
Nawiązanie sesjiWebTransportConnectOnWebTransportSessionUruchamiane przez żądanie Extended CONNECT protokołu HTTP/3.
Strumienie dwukierunkoweDwukierunkowy ruch o niskim opóźnieniu na silniku wbudowanym.
DatagramySendDatagramZawodne datagramy obok strumieni sesji.
Wymagany silnik wbudowanySesja potrzebuje kilku strumieni na jednym połączeniu (qmBuiltin).

Standardy, TLS i platformy

Stos oparty na standardach na natywnym silniku QUIC OpenSSL 3.5.

ObszarSzczegóły
RFC 9000Transport QUIC — strumienie, connection ID, migracja, połączony handshake transportu + TLS.
RFC 9114HTTP/3 — semantyka HTTP odwzorowana na strumienie QUIC.
RFC 9204QPACK — kompresja nagłówków dla HTTP/3.
RFC 9220Uruchamianie WebTransport nad HTTP/3 (Extended CONNECT).
RFC 7838Alt-Svc — dostępność HTTP/3 ogłaszana przez serwer.
TLSTLS 1.3, wbudowany w handshake QUIC.
Silnik kryptograficznyNatywny QUIC w OpenSSL 3.5 (qmBuiltin, wielostrumieniowy). Istnieje ścieżka qmCustom dla kompilacji w stylu quictls, ograniczona do jednego strumienia na połączenie.
PlatformyWin32, Win64 i Linux64, a także macOS, iOS i Android tam, gdzie dostępny jest silnik QUIC OpenSSL 3.5.
JęzykiDelphi i C++ Builder (od 7 do 13) oraz .NET z identycznie nazwanymi klasami Tsgc.
Najkorzystniejsza oferta: All-AccessWszystkie produkty eSeGeCe, ze wsparciem Premium w cenie, już od €1,059 rocznie.
Zobacz cennik All-Access

Twórz z sgcQUIC

Pobierz bezpłatną wersję próbną i zacznij wysyłać ruch przez QUIC i HTTP/3 w Delphi, C++ Builder lub .NET.