sgcQUIC — QUIC i HTTP/3 dla Delphi, C++ Builder i .NET

sgcQUIC — QUIC i HTTP/3 dla Delphi, C++ Builder i .NET

Kompletny stos QUIC i HTTP/3 dla Delphi, C++ Builder i .NET. sgcQUIC oferuje cztery komponenty palety — klienta i serwer surowego transportu QUIC (RFC 9000) oraz klienta i serwer HTTP/3 (RFC 9114) — zbudowane na natywnym silniku QUIC w OpenSSL 3.5. Kompresja nagłówków QPACK, wykrywanie Alt-Svc, 0-RTT, migracja połączeń i WebTransport są dostępne od razu, a ten sam interfejs API działa w Object Pascal i C#.

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

Ta sama semantyka HTTP, nowy transport

HTTP/3 zachowuje metody, kody stanu i nagłówki, które już znasz, i zastępuje TCP przez QUIC, transport oparty na UDP z wbudowanym TLS 1.3. sgcQUIC steruje nim przez natywną obsługę QUIC w OpenSSL 3.5, dzięki czemu otrzymujesz nowoczesny transport z Delphi, C++ Builder lub .NET bez osobnej biblioteki.

Jeden handshake, bez blokowania kolejki

QUIC (RFC 9000) łączy handshake transportu i TLS 1.3 w jeden przelot i usuwa blokowanie kolejki na poziomie transportu — zgubiony pakiet zatrzymuje wyłącznie strumienie, których dane przenosił, a nie całe połączenie.

Zbudowany na natywnym QUIC OpenSSL 3.5

Silnik jest wykrywany automatycznie podczas ładowania OpenSSL. Wraz z dołączonymi binariami OpenSSL 3.5 otrzymujesz silnik qmBuiltin, który obsługuje wiele strumieni na jedno połączenie i jest silnikiem, wokół którego zbudowano komponenty.

Kompresja nagłówków QPACK

HTTP/3 kompresuje nagłówki za pomocą QPACK (RFC 9204), następcy HPACK w HTTP/3, zaprojektowanego z myślą o dostarczaniu poza kolejnością w QUIC, z aktualizacjami tabeli dynamicznej przenoszonymi na dedykowanych strumieniach kodera i dekodera.

Migracja połączenia

Połączenia QUIC są identyfikowane przez connection ID, a nie przez czwórkę adresów, dzięki czemu sesja przetrwa zmianę sieci przez klienta — połączenie może podążać za urządzeniem z Wi-Fi na dane mobilne bez nowego handshake'u.

0-RTT i wiele strumieni

Nowe połączenie zostaje nawiązane w jednej rundzie, a wznowiona sesja może przenosić dane 0-RTT już w pierwszym przelocie. Na silniku wbudowanym EnableMultiStream i OpenStream umieszczają kilka niezależnych strumieni QUIC na jednym połączeniu.

Sesje WebTransport

WebTransport (RFC 9220) jest negocjowany przez Extended CONNECT i przekazuje aplikacji strumienie QUIC bezpośrednio, stworzony z myślą o dwukierunkowym ruchu o niskim opóźnieniu na bazie silnika wbudowanego.

Cztery komponenty, dwie warstwy

Para surowego transportu QUIC dla strumieni i datagramów oraz para HTTP/3 komunikująca się w modelu żądanie/odpowiedź na tym samym silniku. Każda z nich prowadzi do własnej strony z przykładami dla Delphi, C++ Builder i .NET.

TsgcQUICClient

Klient surowego transportu QUIC. Otwiera połączenie QUIC, wysyła i odbiera bajty na jednym lub wielu strumieniach (RFC 9000), z 0-RTT i migracją połączenia — QUIC bez semantyki HTTP.

Zobacz komponent →

TsgcQUICServer

Serwer surowego transportu QUIC. Wiąże się z portem UDP, kończy TLS 1.3 i zgłasza zdarzenie dla każdego połączenia i strumienia QUIC, dzięki czemu budujesz własny protokół na bazie QUIC.

Zobacz komponent →

TsgcHTTP3Client

Klient HTTP/3 (RFC 9114). Wszystkie czasowniki jako wywołania blokujące lub asynchroniczne, kompresja QPACK, wykrywanie Alt-Svc, server push, tunele Extended CONNECT i sesje WebTransport.

Zobacz komponent →

TsgcHTTP3Server

Serwer HTTP/3. Obsługuje żądania przez QUIC, dziedziczy po TsgcQUICServer, zgłasza zdarzenie dla każdego żądania i potrafi wypychać odpowiedzi, otwierać sesje WebTransport oraz wysyłać datagramy.

Zobacz komponent →

Zobacz pełną matrycę funkcji →

Żądanie GET przez HTTP/3

Połącz się z hostem i portem, a następnie wysyłaj żądania. Domyślny port to 443. Ten sam interfejs API w Delphi, C++ Builder i .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();

RFC, które implementuje sgcQUIC

Stos oparty na standardach, a nie na zastrzeżonym transporcie.

RFC 9000 — QUIC

Transport QUIC: jeden połączony handshake transportu + TLS 1.3, niezależne strumienie, connection ID i migracja. Udostępniany bezpośrednio przez TsgcQUICClient i TsgcQUICServer.

RFC 9114 — HTTP/3

Semantyka HTTP nad QUIC: znane Ci metody, kody stanu i nagłówki, odwzorowane na strumienie QUIC. Implementowane przez TsgcHTTP3Client i TsgcHTTP3Server.

RFC 9204 — QPACK

Kompresja nagłówków dla HTTP/3, zaprojektowana z myślą o dostarczaniu poza kolejnością w QUIC, z tabelą dynamiczną synchronizowaną przez dedykowane strumienie kodera i dekodera.

RFC 9220 — WebTransport

Uruchamianie WebTransport nad HTTP/3 za pomocą Extended CONNECT, przekazujące aplikacji strumienie QUIC dla dwukierunkowego ruchu o niskim opóźnieniu.

Dodatek do sgcWebSockets

sgcQUIC jest licencjonowany jako dodatek. Wszystkie licencje obejmują pełny kod źródłowy, 1 rok aktualizacji oraz 70% rabatu na odnowienie.

sgcQUIC

€149

Dostępne licencje Single, Team i Site. Pełny kod źródłowy w zestawie.

  • TsgcQUICClient & TsgcQUICServer
  • TsgcHTTP3Client & TsgcHTTP3Server
  • Delphi, C++ Builder & .NET
  • Pełny kod źródłowy
  • 1 rok aktualizacji

★ Wymaga sgcWebSockets

sgcQUIC wymaga sgcWebSockets Enterprise.

Zobacz cennik i zamów
3,000+Developers
20+Years
761+Components
30+API Integrations
5Platforms
30-dniowa gwarancja zwrotu pieniędzyNie jesteś zadowolony? Poproś o pełny zwrot pieniędzy w ciągu 30 dni od zakupu. Zobacz politykę zwrotów

Wdrażaj QUIC i HTTP/3 bez opuszczania swojego IDE

Dodaj transport, w kierunku którego zmierza nowoczesny web — do swojej aplikacji Delphi, C++ Builder lub .NET, w języku, którego już używasz.

Inne produkty eSeGeCe

Połącz sgcQUIC z naszymi innymi bibliotekami komponentów dla Delphi, C++ Builder i .NET.

sgcWebSockets

Komponenty klasy Enterprise: WebSocket, HTTP/2, MQTT, AMQP, WebRTC i AI/LLM. sgcQUIC jest dodatkiem do sgcWebSockets Enterprise.

Dowiedz się więcej →

sgcHTML

89 komponentów HTML/UI z obsługą danych, działających po stronie serwera, dla Delphi, C++ Builder i .NET, z Bootstrap 5 i htmx.

Dowiedz się więcej →

sgcSign

Podpisy cyfrowe klasy Enterprise — XAdES, PAdES, CAdES i ASiC z 10 dostawcami kluczy i 21 profilami krajów UE.

Dowiedz się więcej →

sgcOpenAPI

Parser OpenAPI 3.0 i generator SDK. Zamień dowolną specyfikację OpenAPI w silnie typowanego klienta Delphi w kilka sekund.

Dowiedz się więcej →

sgcBiometrics

Natywne komponenty Windows Hello, odcisku palca i Windows Biometric Framework dla Delphi i C++ Builder.

Dowiedz się więcej →

sgcIndy

Zaktualizowane komponenty Indy TCP/IP z nowoczesnym TLS, obsługą IPv6 i HTTP/2 dla Delphi 7 do 13.

Dowiedz się więcej →