QUIC クライアントコンポーネント — sgcQUIC | eSeGeCe

QUIC クライアント

TsgcQUICClient — 生の QUIC トランスポートクライアント(RFC 9000)です。単一の TLS 1.3 ハンドシェイクでコネクションを開き、1 つまたは複数のストリームでバイト列を送受信します。0-RTT 再開とコネクションマイグレーションに対応し、Delphi、C++ Builder、.NET で利用できます。

TsgcQUICClient

HTTP セマンティクスを伴わない QUIC です。HostPort、イベントハンドラーを設定し、コンポーネントをアクティブにしてから、ストリームにバイト列を書き込みます。OpenSSL 3.5 のネイティブ QUIC エンジン上に構築されています。

コンポーネントクラス

TsgcQUICClient

トランスポート

UDP 上の QUIC(RFC 9000)、TLS 1.3

言語

Delphi, C++ Builder, .NET

接続してから、ストリームに書き込む

HostPort を設定し、QUIC イベントをフックし、Active を設定してから、WriteData でバイト列を送信します。1 つのコネクションで複数のストリームを使うには EnableMultiStreamOpenStream を呼び出します。

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();

主なプロパティ & メソッド

最もよく使うメンバー。

コネクション

HostPortActive が QUIC コネクションを開閉します。Connect / DisconnectStart / Stop で明示的に操作することもできます。

オプション

QUICOptions は ALPN、タイムアウト、0-RTT を設定します。SSLQUICOptions は TLS 1.3 レイヤーを調整します。

ストリーム

EnableMultiStreamOpenStream(aUnidirectional) により、1 つのコネクション上に複数の独立した QUIC ストリームを配置できます(builtin エンジン)。

データ送信

WriteData は、string または TBytes のペイロードをストリームに書き込みます。

イベント

OnQUICConnectOnQUICStreamDataOnQUICDisconnectOnQUICException が、コネクションのライフサイクルと受信データを扱います。

耐障害性

0-RTT 再開とコネクションマイグレーションにより、セッションは 1 回の往復や、ネットワークの切り替えをまたいでも維持されます。

さらに詳しく

オンラインヘルプsgcQUIC の完全な API リファレンスと使用ガイドです。
すべての sgcQUIC コンポーネント4 つのコンポーネントすべての完全な機能マトリックスを見る。
無料体験版をダウンロード自前のサーバーや任意の QUIC エンドポイントに対して QUIC クライアントを実行できます。
価格完全なソースコード付きの Single、Team、Site ライセンス。
最もお得な選択: All-AccesseSeGeCe の全製品にプレミアムサポートが付いて、年間 €1,059 からご利用いただけます。
All-Access の価格を見る

始める準備はできましたか?

無料体験版をダウンロードして、Delphi、C++ Builder、.NET で QUIC 上のトラフィック送信を始めましょう。