QUIC Client
TsgcQUICClient — 원시 QUIC 전송 클라이언트(RFC 9000)입니다. 단 한 번의 TLS 1.3 핸드셰이크로 연결을 열고, 하나 또는 여러 스트림을 통해 바이트를 주고받으며, 0-RTT 재개와 연결 마이그레이션을 지원합니다. Delphi, C++ Builder, .NET에서 사용할 수 있습니다.
TsgcQUICClient — 원시 QUIC 전송 클라이언트(RFC 9000)입니다. 단 한 번의 TLS 1.3 핸드셰이크로 연결을 열고, 하나 또는 여러 스트림을 통해 바이트를 주고받으며, 0-RTT 재개와 연결 마이그레이션을 지원합니다. Delphi, C++ Builder, .NET에서 사용할 수 있습니다.
HTTP 시맨틱이 없는 순수 QUIC입니다. Host, Port와 이벤트 핸들러를 설정하고, 컴포넌트를 활성화한 다음, 스트림에 바이트를 씁니다. 네이티브 OpenSSL 3.5 QUIC 엔진 기반입니다.
TsgcQUICClient
QUIC(RFC 9000) over UDP, TLS 1.3
Delphi, C++ Builder, .NET
Host와 Port를 지정하고, QUIC 이벤트를 연결한 다음, Active를 설정하고 WriteData로 바이트를 전송하세요. 하나의 연결에서 여러 스트림을 사용하려면 EnableMultiStream과 OpenStream을 호출합니다.
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();
가장 자주 사용하게 되는 멤버.
Host, Port, Active가 QUIC 연결을 열고 닫습니다. Connect / Disconnect와 Start / Stop으로 명시적으로 제어할 수도 있습니다.
QUICOptions는 ALPN, 타임아웃, 0-RTT를 구성하며, SSLQUICOptions는 TLS 1.3 계층을 조정합니다.
EnableMultiStream과 OpenStream(aUnidirectional)은 하나의 연결에 여러 독립적인 QUIC 스트림을 둡니다(빌트인 엔진).
WriteData는 string 또는 TBytes 페이로드를 스트림에 씁니다.
OnQUICConnect, OnQUICStreamData, OnQUICDisconnect, OnQUICException이 연결 수명 주기와 인바운드 데이터를 처리합니다.
0-RTT 재개와 연결 마이그레이션은 한 번의 왕복 동안과 네트워크 변경 시에도 세션을 유지합니다.