eSeGeCe — Enterprise-communicatiecomponenten voor Delphi & .NET
UITGELICHT · sgcQUIC

Sla de round trips over

TCP plus TLS heeft drie round trips nodig voordat de eerste byte van een respons aankomt. QUIC voegt de transport- en de crypto-handshake samen tot één, en een hervatte verbinding kan al data versturen in het allereerste pakket. sgcQUIC geeft Delphi, C++ Builder en .NET een native QUIC-transport en een HTTP/3-client en -server die daarbovenop zijn gebouwd, op de OpenSSL 3.5 QUIC-engine.

  • RFC 9000, 9114, 9204
  • WebTransport (RFC 9220)
  • 0-RTT en connectiemigratie
  • Delphi · C++ Builder · .NET

QUIC en HTTP/3, tot op de letter van de RFC's

sgcQUIC is geen gedeeltelijke implementatie. Transport, framing, headercompressie en de WebTransport-extensie zijn allemaal gedekt, bovenop de native OpenSSL 3.5 QUIC-engine.

4 Componenten TsgcQUICClient, TsgcQUICServer, TsgcHTTP3Client en TsgcHTTP3Server, één paletpagina.
9000 RFC 9000 Het QUIC-transportprotocol: streams, datagrams, flow control en connectiemigratie.
9114 RFC 9114 HTTP/3, dezelfde request- en response-semantiek als HTTP/2, vervoerd over QUIC-streams.
9204 RFC 9204 QPACK-headercompressie, ontworpen voor de out-of-order streamaflevering van QUIC.
9220 RFC 9220 WebTransport over HTTP/3, bidirectionele streams en datagrams op één Extended CONNECT-verzoek.
sgcQUIC

Een pure QUIC-transport en een HTTP/3-client en -server voor Delphi, C++ Builder en .NET. Een add-on voor sgcWebSockets Enterprise, op dezelfde native OpenSSL 3.5 QUIC-engine. Volledige broncode, royaltyvrije implementatie.

Pure QUIC, of HTTP/3 erbovenop

Gebruik TsgcQUICClient en TsgcQUICServer voor een kaal transport met je eigen framing, of grijp meteen naar TsgcHTTP3Client en TsgcHTTP3Server wanneer het wire-formaat HTTP is.

RFC 9000

QUIC-client & -server

TsgcQUICClient en TsgcQUICServer spreken pure QUIC: meerdere onafhankelijke streams op één versleutelde verbinding, onbetrouwbare datagrams, en connectiemigratie wanneer het IP-adres van de client tijdens de sessie verandert.

Bekijk de QUIC-componenten →
RFC 9114

HTTP/3-client & -server

TsgcHTTP3Client en TsgcHTTP3Server leggen daar HTTP-semantiek bovenop: request- en response-headers gecomprimeerd met QPACK, Alt-Svc-discovery, en dezelfde methoden en statuscodes die je HTTP/2-code al gebruikt.

Bekijk de HTTP/3-componenten →
0-RTT

Sessiehervatting

Een client die al eerder verbonden is geweest, kan zijn eerste verzoek versturen op het allereerste pakket, nog voordat de handshake is voltooid.

Migratie

Connectiemigratie

Een Connection ID identificeert de sessie, niet het IP-adres, zodat een telefoon die overschakelt van wifi naar mobiele data zijn streams open houdt.

WebTransport

RFC 9220

Bidirectionele streams en onbetrouwbare datagrams over één Extended CONNECT-verzoek, voor browserclients die WebTransport spreken.

Uitgewerkte handleidingen voor de QUIC- en HTTP/3-componenten:

Eén verzoek over HTTP/3

Dezelfde opzet als elke andere sgcWebSockets HTTP-client: stel eigenschappen in, verwerk een event, roep een methode aan.

uses
  sgcHTTP3_Client;
var
  vClient: TsgcHTTP3Client;
begin
  vClient := TsgcHTTP3Client.Create(nil);
  vClient.Host := 'api.example.com';
  vClient.Port := 443;
  vClient.OnResponse :=
    procedure(Sender: TObject; const AStatus: Integer; const ABody: string)
    begin
      Memo1.Lines.Add(Format('%d: %s', [AStatus, ABody]));
    end;
  vClient.OnAltSvc :=
    procedure(Sender: TObject; const AAltSvc: string)
    begin
      Memo1.Lines.Add('Alt-Svc: ' + AAltSvc);  // h3 advertised over HTTP/2
    end;
  vClient.Connect;
  vClient.Get('/pets/42');
end;
uses
  sgcQUIC_Client;
var
  vQUIC: TsgcQUICClient;
begin
  vQUIC := TsgcQUICClient.Create(nil);
  vQUIC.Host := 'quic.example.com';
  vQUIC.Port := 4433;
  vQUIC.EnableMultiStream := True;
  vQUIC.OnQUICConnect :=
    procedure(Sender: TObject)
    var
      vStreamId: Int64;
    begin
      vStreamId := vQUIC.OpenStream;
      vQUIC.WriteData(vStreamId, 'ping');
    end;
  vQUIC.OnQUICStreamData :=
    procedure(Sender: TObject; const AStreamId: Int64; const AData: string)
    begin
      Memo1.Lines.Add(Format('stream %d: %s', [AStreamId, AData]));
    end;
  vQUIC.Active := True;
end;

De client en de server delen aan beide kanten hetzelfde connectie-, stream- en datagram-model. De volledige feature-matrix →

Eén poort, één certificaat, twee protocollen

TsgcHTTP3Server spreekt HTTP/3 over QUIC op een UDP-poort, terwijl koppeling in TsgcHTTP3ServerBridge-stijl met een bestaande HTTP/2-server legacy-clients over TCP laat blijven werken. Adverteer Alt-Svc en moderne clients upgraden zichzelf.

HTTP3Server.pas
uses
  sgcHTTP3_Server;

procedure TForm1.FormCreate(Sender: TObject);
begin
  FServer := TsgcHTTP3Server.Create(nil);
  FServer.Port := 443;
  FServer.QUICOptions.SSLOptions.CertFile := 'server.crt';
  FServer.QUICOptions.SSLOptions.KeyFile  := 'server.key';

  // One handler for every incoming HTTP/3 request
  FServer.OnH3Request :=
    procedure(const Ctx: TsgcHTTP3Context)
    begin
      if Ctx.Path = '/pets/42' then
        Ctx.RespondJSON(200, '{"name":"Rex"}')
      else
        Ctx.Respond(404, 'Not found');
    end;

  FServer.Active := True;
end;

Wat dat je oplevert

Eén Delphi-component dat QUIC termineert, h3 onderhandelt en elk verzoek routeert naar één handler, met hetzelfde certificaat dat je HTTP/2-server al laadt.

Alt-Svc, zodat upgrades automatisch gaan

Een gewone HTTP/2-respons draagt een Alt-Svc: h3=":443"-header. Clients die dat begrijpen, openen QUIC bij het volgende verzoek, zonder redirect of tweede domein.

WebTransport, op dezelfde poort

Een Extended CONNECT-verzoek upgradet een stream naar WebTransport, waardoor een browserclient bidirectionele streams en datagrams krijgt naast gewone HTTP/3-verzoeken.

Native QUIC, geen externe afhankelijkheid

De QUIC- en TLS 1.3-handshake draaien op de eigen QUIC-engine van OpenSSL 3.5. Er is geen aparte QUIC-library om te bouwen of te vendoren.

OpenSSL 3.5 TLS 1.3 Alt-Svc QPACK WebTransport

Het HTTP/3-servercomponent →

sgcQUIC is een add-on voor sgcWebSockets Enterprise, dus de licentie, het supportkanaal en de updatecyclus zijn dezelfde die je al hebt.

Negen bibliotheken, één gereedschapskist

sgcQUIC is een van de negen eSeGeCe-componentenbibliotheken voor Delphi, C++ Builder en .NET. Ze delen dezelfde conventies, worden geleverd met volledige broncode en zijn royaltyvrij te implementeren.

sgcQUIC

Pure QUIC-transport en een HTTP/3-client en -server, met WebTransport. Een add-on voor sgcWebSockets Enterprise.

Meer informatie →

sgcWebSockets

WebSocket, HTTP/2, MQTT, AMQP, WebRTC, AI en 30+ API-integraties. De Enterprise-licentie waarop sgcQUIC voortbouwt.

Meer informatie →

sgcHTML

Server-side HTML- en UI-componenten op Bootstrap 5 en htmx. Serveer de gerenderde UI over hetzelfde HTTP/3-transport.

Meer informatie →

sgcAI

AI-, LLM- en MCP-componenten voor Delphi en C++ Builder. Zeven LLM-providers achter één component, plus MCP, embeddings en spraak. Standalone, met de sgcWebSockets Core runtime inbegrepen.

Meer informatie →

sgcMQ

Clientcomponenten voor MQTT, AMQP 0.9.1 en 1.0, Apache Kafka en STOMP, voor Delphi en C++ Builder. Standalone, met de sgcWebSockets Core runtime inbegrepen.

Meer informatie →

sgcAuth

OAuth2-client, JWT-client en WebAuthn-ondersteuning voor Delphi en C++ Builder. Meld je aan bij elke OAuth2/OIDC-provider, geef JWT's uit en verifieer ze, en voeg passkey-authenticatie toe aan native apps. Standalone, met de sgcWebSockets Core runtime inbegrepen.

Meer informatie →

sgcHTTP

HTTP/2-client, gRPC-client en clients voor Google Cloud Pub/Sub, Calendar en FCM, voor Delphi en C++ Builder. Standalone, met de sgcWebSockets Core runtime inbegrepen.

Meer informatie →

sgcREST

REST-server, OpenAPI-server en OpenAPI-clientcomponenten voor Delphi en C++ Builder. Publiceer REST-API's vanuit een OpenAPI 3.x-contract, of consumeer elke OpenAPI-beschreven API. Standalone, met de sgcWebSockets Core runtime inbegrepen.

Meer informatie →

sgcOpenAPI

OpenAPI 3.x-parser, native Pascal-SDK-generator, OpenAPI-servercomponent, en 1.195+ kant-en-klare cloud-SDK's.

Meer informatie →

sgcSign

XAdES, PAdES, CAdES en ASiC voor documenten, Authenticode, ClickOnce, NuGet en VSIX voor code.

Meer informatie →

sgcBiometrics

Windows Hello, vingerafdruksensoren en het Windows Biometric Framework voor Delphi en C++ Builder.

Meer informatie →

sgcIndy

Bijgewerkte Indy TCP/IP-componenten met moderne TLS, IPv6 en HTTP/2 voor Delphi 7 tot en met 13.

Meer informatie →

Bekijk de prijzen en edities Download de gratis proefversie

Wat ontwikkelaars zeggen

Vertrouwd door Delphi-, C++ Builder-, Lazarus- en .NET-ontwikkelaars over de hele wereld.

Jullie sgcWebSockets-bibliotheek is erg handig en eenvoudig op te zetten. Ga zo door!

Simone Moretti Delphi-ontwikkelaar

sgcWebSockets is geweldig en jullie support is de beste!

Christian Meyer Oprichter & CTO

Heel erg bedankt voor jullie hulp en ondersteuning, ik ben dol op jullie componenten.

Mark Steinfeld CTO

Laatste blogberichten

Bekijk alle berichten →

Je ziet nu de weergave QUIC van eSeGeCe.

Toon me een andere invalshoek →
Niet-goed-geld-terug-garantie van 30 dagenNiet tevreden? Vraag binnen 30 dagen na aankoop een volledige terugbetaling aan. Bekijk het terugbetalingsbeleid

Lever QUIC en HTTP/3 zonder je IDE te verlaten

Pure QUIC-transport, HTTP/3-client en -server, en WebTransport, op de OpenSSL 3.5 QUIC-engine. Volledige broncode, royaltyvrije implementatie, als add-on voor sgcWebSockets Enterprise.