QUIC Client
TsgcQUICClient — a raw QUIC transport client (RFC 9000): open a connection with a single TLS 1.3 handshake, send and receive bytes over one or many streams, with 0-RTT resumption and connection migration, in Delphi, C++ Builder and .NET.
TsgcQUICClient — a raw QUIC transport client (RFC 9000): open a connection with a single TLS 1.3 handshake, send and receive bytes over one or many streams, with 0-RTT resumption and connection migration, in Delphi, C++ Builder and .NET.
QUIC without HTTP semantics. Set Host, Port and event handlers, activate the component, then write bytes on a stream. Built on the native OpenSSL 3.5 QUIC engine.
TsgcQUICClient
QUIC (RFC 9000) over UDP, TLS 1.3
Delphi, C++ Builder, .NET
Assign Host and Port, hook the QUIC events, set Active, then send bytes with WriteData. Call EnableMultiStream and OpenStream for several streams on one connection.
uses
sgcQUIC_Client;
var
oClient: TsgcQUICClient;
begin
oClient := TsgcQUICClient.Create(nil);
oClient.Host := 'www.example.com';
oClient.Port := 443;
oClient.OnQUICConnect := OnQUICConnectHandler;
oClient.OnQUICStreamData := OnStreamDataHandler;
oClient.OnQUICDisconnect := OnQUICDisconnectHandler;
oClient.Active := True; // one-flight TLS 1.3 handshake
oClient.WriteData('ping'); // send bytes on a QUIC stream
end;
// Several independent streams on one connection (builtin engine):
oClient.EnableMultiStream;
oClient.OpenStream;
// includes: sgcQUIC_Client.hpp
TsgcQUICClient *oClient = new TsgcQUICClient(NULL);
oClient->Host = "www.example.com";
oClient->Port = 443;
oClient->OnQUICConnect = OnQUICConnectHandler;
oClient->OnQUICStreamData = OnStreamDataHandler;
oClient->OnQUICDisconnect = OnQUICDisconnectHandler;
oClient->Active = true; // one-flight TLS 1.3 handshake
oClient->WriteData("ping"); // send bytes on a QUIC stream
// Several independent streams on one connection (builtin engine):
oClient->EnableMultiStream();
oClient->OpenStream();
using esegece.sgcWebSockets;
var oClient = new TsgcQUICClient();
oClient.Host = "www.example.com";
oClient.Port = 443;
oClient.OnQUICConnect += OnQUICConnectHandler;
oClient.OnQUICStreamData += OnStreamDataHandler;
oClient.OnQUICDisconnect += OnQUICDisconnectHandler;
oClient.Active = true; // one-flight TLS 1.3 handshake
oClient.WriteData("ping"); // send bytes on a QUIC stream
// Several independent streams on one connection (builtin engine):
oClient.EnableMultiStream();
oClient.OpenStream();
The members you reach for most often.
Host, Port and Active open and close the QUIC connection; Connect / Disconnect and Start / Stop do it explicitly.
QUICOptions configures ALPN, timeouts and 0-RTT; SSLQUICOptions tunes the TLS 1.3 layer.
EnableMultiStream plus OpenStream(aUnidirectional) put several independent QUIC streams on one connection (builtin engine).
WriteData writes a string or TBytes payload onto a stream.
OnQUICConnect, OnQUICStreamData, OnQUICDisconnect and OnQUICException drive the connection lifecycle and inbound data.
0-RTT resumption and connection migration keep a session alive across a single round trip and across network changes.
| Online HelpFull API reference and usage guide for sgcQUIC. | Open | |
| All sgcQUIC ComponentsBrowse the full feature matrix of all four components. | Open | |
| Download Free TrialRun the QUIC client against your own server or any QUIC endpoint. | Open | |
| PricingSingle, Team and Site licenses with full source code. | Open |