QUIC サーバーコンポーネント — sgcQUIC | eSeGeCe

QUIC サーバー

TsgcQUICServer — 生の QUIC トランスポートサーバー(RFC 9000)です。UDP ポートをバインドし、証明書と鍵を読み込み、TLS 1.3 を終端し、QUIC のコネクションとストリームごとにイベントで処理します。QUIC の上に独自のプロトコルを構築でき、Delphi、C++ Builder、.NET で利用できます。

TsgcQUICServer

生の QUIC のペアのうち、リスナー側です。ポートと PEM 証明書を指定してアクティブにすれば、コネクションとストリームデータをイベントで処理できます。OpenSSL 3.5 のネイティブ QUIC エンジン上に構築されています。

コンポーネントクラス

TsgcQUICServer

トランスポート

UDP 上の QUIC(RFC 9000)、TLS 1.3

言語

Delphi, C++ Builder, .NET

ポートをバインドし、コネクションを処理する

QUICOptions でポートと証明書 / 鍵を設定し、QUIC イベントをフックしてから Active を設定します。コネクションのストリームへの応答は WriteData で行います。

uses
  sgcQUIC_Server;

var
  oServer: TsgcQUICServer;
begin
  oServer := TsgcQUICServer.Create(nil);
  oServer.Port := 443;
  oServer.QUICOptions.SSLOptions.CertFile := 'cert.pem';
  oServer.QUICOptions.SSLOptions.KeyFile  := 'key.pem';

  oServer.OnQUICConnect    := OnQUICConnectHandler;
  oServer.OnQUICData       := OnQUICDataHandler;      // bytes from a client
  oServer.OnQUICDisconnect := OnQUICDisconnectHandler;

  oServer.Active := True;
end;
// includes: sgcQUIC_Server.hpp

TsgcQUICServer *oServer = new TsgcQUICServer(NULL);
oServer->Port = 443;
oServer->QUICOptions->SSLOptions->CertFile = "cert.pem";
oServer->QUICOptions->SSLOptions->KeyFile  = "key.pem";

oServer->OnQUICConnect    = OnQUICConnectHandler;
oServer->OnQUICData       = OnQUICDataHandler;      // bytes from a client
oServer->OnQUICDisconnect = OnQUICDisconnectHandler;

oServer->Active = true;
using esegece.sgcWebSockets;

var oServer = new TsgcQUICServer();
oServer.Port = 443;
oServer.QUICOptions.SSLOptions.CertFile = "cert.pem";
oServer.QUICOptions.SSLOptions.KeyFile  = "key.pem";

oServer.OnQUICConnect    += OnQUICConnectHandler;
oServer.OnQUICData       += OnQUICDataHandler;      // bytes from a client
oServer.OnQUICDisconnect += OnQUICDisconnectHandler;

oServer.Active = true;

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

最もよく使うメンバー。

リスナー

PortActive が UDP リスナーをバインド・解放します。Start / Stop で明示的に操作することもできます。

TLS

QUICOptions.SSLOptions.CertFileKeyFile が、TLS 1.3 ハンドシェイク用の PEM 証明書と秘密鍵を読み込みます。

ストリーム

OpenStream(aConnection) はサーバー起点のストリームを開きます。builtin エンジンでは 1 コネクションあたり複数のストリームを扱えます。

データ送信

WriteData(aConnection, …) は、ストリーム上でクライアントに string または TBytes のペイロードを書き戻します。

イベント

OnQUICConnectOnQUICDataOnQUICStreamDataOnQUICDisconnectOnQUICException が、コネクションのライフサイクルと受信バイト列を扱います。

ライフサイクル

OnStartupOnShutdown は、リスナーの起動・停止時に発生します。

さらに詳しく

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

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

無料体験版をダウンロードして、Delphi、C++ Builder、.NET で QUIC サーバーを立ち上げましょう。