sgcQUIC 功能矩阵 — QUIC、HTTP/3、WebTransport | eSeGeCe

sgcQUIC 功能矩阵

sgcQUIC 的一切功能,按四个组件及其实现的 RFC 标准分类列出。原始 QUIC 组件对为您提供流和数据报;HTTP/3 组件对则加入了请求/响应、QPACK 和 WebTransport。每项功能在 Delphi、C++ Builder 和 .NET 中的行为完全一致,每份许可证均附带完整源代码。点击某个组件可进入其专属页面,查看用法和示例。

HTTP/3

RFC 9114 + QPACK

WebTransport

RFC 9220

标准与平台

TLS 1.3 / OpenSSL 3.5

四个调色板组件

两个层级:原始 QUIC 传输层,以及构建于其上的 HTTP/3 请求/响应层。

组件分类描述
QUIC ClientTsgcQUICClientQUIC原始 QUIC 传输客户端:流和数据报、0-RTT、连接迁移(RFC 9000)。
QUIC ServerTsgcQUICServerQUIC原始 QUIC 传输服务器:绑定一个 UDP 端口,终止 TLS 1.3,引发按连接和按流划分的事件。
HTTP/3 ClientTsgcHTTP3ClientHTTP/3HTTP/3 客户端,支持 QPACK、Alt-Svc、服务器推送、Extended CONNECT 和 WebTransport(RFC 9114)。
HTTP/3 ServerTsgcHTTP3ServerHTTP/3HTTP/3 服务器:通过 QUIC 处理请求,支持服务器推送、WebTransport 会话和数据报。

QUIC 传输 (RFC 9000)

直接暴露的传输层,供您在 QUIC 之上构建自己的协议。

能力客户端服务器说明
单次合并的传输 + TLS 1.3 握手一次发送即可完成连接建立;无需单独的 TLS 往返。
独立的双向流丢失的数据包只会阻塞其承载数据所属的流。
单向流在内置引擎上使用 OpenStream(aUnidirectional := True)
每连接多个流qmBuiltin 引擎上的 EnableMultiStream / OpenStream
0-RTT 恢复恢复的会话可以在第一次发送中携带早期数据。
连接迁移基于连接 ID;在客户端更换网络后依然存活。
发送 / 接收字节WriteDataWriteData(connection, …)流上的字符串或 TBytes 负载。
连接生命周期事件OnQUICConnect / OnQUICDisconnectOnQUICConnect / OnQUICDisconnect另有 OnQUICException 用于处理传输层错误。
入站流数据事件OnQUICStreamDataOnQUICStreamData / OnQUICData流字节到达时触发。

HTTP/3 (RFC 9114) 与 QPACK (RFC 9204)

QUIC 之上的 HTTP 语义,HTTP/3 专属机制以方法和事件的形式暴露。

能力客户端服务器说明
请求方法GET、HEAD、POST、PUT、DELETE、PATCH、OPTIONS、TRACE、CONNECT、QUERY客户端上每个方法都是阻塞调用,大多数还提供异步变体。
QPACK 头部压缩RFC 9204,动态表更新通过专用的编码器/解码器流传输。
Alt-Svc 发现OnAltSvc发布公告RFC 7838;客户端解析该头部,由您的应用决定何时切换。
服务器推送SetMaxPushId / OnPushPromise / OnPushOnH3Request 推送客户端声明一个上限,并可以拒绝被推送的响应。
Extended CONNECT 隧道ExtendedConnect / TunnelSend / OnTunnelDataOnH3TunnelData / TunnelSendRFC 9220 通过一个请求流隧道传输另一种协议。
请求事件OnH3Request每个请求触发一次;由应用填充响应内容。
优雅关闭OnGoAwayGOAWAYRFC 9114 的连接关闭信令。
证书 / 密钥QUICOptions.SSLOptions.CertFile / KeyFile监听器所用的 PEM 证书和私钥。

WebTransport (RFC 9220)

通过 Extended CONNECT 协商的会话,直接将 QUIC 流交给应用程序。

能力客户端服务器说明
建立会话WebTransportConnectOnWebTransportSession基于一个 HTTP/3 Extended CONNECT 请求引导建立。
双向流内置引擎上的低延迟双向流量。
数据报SendDatagram与会话的流并行传输的不可靠数据报。
需要内置引擎一个会话需要在一个连接(qmBuiltin)上开出多个流。

标准、TLS 和平台

基于原生 OpenSSL 3.5 QUIC 引擎、以标准为基础的技术栈。

领域详情
RFC 9000QUIC 传输层 — 流、连接 ID、连接迁移、合并的传输 + TLS 握手。
RFC 9114HTTP/3 — 映射到 QUIC 流上的 HTTP 语义。
RFC 9204QPACK — HTTP/3 的头部压缩。
RFC 9220在 HTTP/3 之上引导 WebTransport(Extended CONNECT)。
RFC 7838Alt-Svc — 由服务器发布的 HTTP/3 可用性公告。
TLSTLS 1.3,内置于 QUIC 握手之中。
加密引擎OpenSSL 3.5 中的原生 QUIC(qmBuiltin,多流)。另有一条 qmCustom 路径,适用于 quictls 风格的构建,每连接限一个流。
平台Win32、Win64 和 Linux64,以及在 OpenSSL 3.5 QUIC 引擎可用的情况下的 macOS、iOS 和 Android。
语言Delphi 和 C++ Builder(7 至 13 版),以及采用同名 Tsgc 类的 .NET。
超值之选:All-AccesseSeGeCe 全部产品,含高级支持,每年 €1,059 起。
查看 All-Access 价格

用 sgcQUIC 构建

下载免费试用版,开始在 Delphi、C++ Builder 或 .NET 中通过 QUIC 和 HTTP/3 发送流量。