QUIC 服务器
TsgcQUICServer — 一个原始 QUIC 传输服务器(RFC 9000):绑定一个 UDP 端口,加载证书和密钥,终止 TLS 1.3,并在事件中处理每个 QUIC 连接和流,让您在 QUIC 之上构建自己的协议,适用于 Delphi、C++ Builder 和 .NET。
TsgcQUICServer — 一个原始 QUIC 传输服务器(RFC 9000):绑定一个 UDP 端口,加载证书和密钥,终止 TLS 1.3,并在事件中处理每个 QUIC 连接和流,让您在 QUIC 之上构建自己的协议,适用于 Delphi、C++ Builder 和 .NET。
原始 QUIC 组件对中的监听端。指向一个端口和一个 PEM 证书,激活它,并在事件中应答连接和流数据。基于 OpenSSL 3.5 原生 QUIC 引擎构建。
在 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;
您最常使用的成员。
Port 和 Active 用于绑定和释放 UDP 监听器;Start / Stop 可显式执行该操作。
QUICOptions.SSLOptions.CertFile 和 KeyFile 为 TLS 1.3 握手加载 PEM 证书和私钥。
OpenStream(aConnection) 打开一个由服务器发起的流;内置引擎可在每个连接上承载多个流。
WriteData(aConnection, …) 将 string 或 TBytes 负载在某个流上写回客户端。
OnQUICConnect、OnQUICData、OnQUICStreamData、OnQUICDisconnect 和 OnQUICException 处理连接生命周期和入站字节。
OnStartup 和 OnShutdown 在监听器启动和停止时触发。