HTTP/3 在 .NET 6+ 中的实战配置,深度解读 Kestrel 与 QUIC 集成细节

第一章:HTTP/3 在 .NET 6+ 中的演进与核心价值

随着现代 Web 应用对低延迟和高并发通信的需求日益增长,HTTP/3 作为新一代传输协议,已在 .NET 6 及更高版本中得到原生支持。它基于 QUIC 协议,摒弃了传统的 TCP,转而使用 UDP 实现更高效的连接建立与数据传输,显著减少了连接握手时间并解决了队头阻塞问题。

为何选择 HTTP/3

  • 更快的连接建立:通过 0-RTT 和 1-RTT 握手实现快速重连
  • 多路复用增强:独立的数据流避免了传统 HTTP/2 的队头阻塞
  • 内置加密:TLS 1.3 成为强制要求,提升通信安全性
  • 连接迁移支持:客户端 IP 变化时仍可维持连接

在 .NET 6+ 中启用 HTTP/3

要在 ASP.NET Core 项目中启用 HTTP/3,首先需确保运行环境支持 TLS 1.3 和 ALPN,并在主机配置中显式启用 HTTP/3 协议:

// Program.cs
var builder = WebApplication.CreateBuilder(args);

// 启用 HTTP/3 支持
builder.WebHost.ConfigureKestrel(serverOptions =>
{
    serverOptions.ListenAnyIP(5001, listenOptions =>
    {
        listenOptions.UseHttps(); // 必须使用 HTTPS
        listenOptions.Protocols = Microsoft.AspNetCore.Server.Kestrel.Core.HttpProtocols.Http3;
    });
});

var app = builder.Build();
app.MapGet("/", () => "Hello HTTP/3!");
app.Run();

上述代码配置 Kestrel 服务器监听端口 5001 并仅使用 HTTP/3 协议。注意:HTTP/3 使用 UDP 端口,因此需确保防火墙允许 UDP 流量。

HTTP/2 与 HTTP/3 性能对比

特性HTTP/2HTTP/3
传输层协议TCPQUIC (基于 UDP)
队头阻塞存在已解决
连接建立延迟较高(依赖 TCP + TLS)低(支持 0-RTT)
跨网络切换支持弱强(连接迁移)
graph LR A[Client] -- QUIC over UDP --> B[Kestrel Server] B -- Stream Multiplexing --> C[Multiple Independent Streams] C --> D[No Head-of-Line Blocking] A --> E[Faster Page Load]

第二章:Kestrel 服务器的 HTTP/3 配置基础

2.1 理解 Kestrel 对 HTTP/3 的支持机制

Kestrel 作为 ASP.NET Core 的默认 Web 服务器,自 .NET 6 起原生支持 HTTP/3,基于 QUIC 协议实现高效、低延迟的通信。
启用 HTTP/3 的配置方式
在 Program.cs 中可通过以下代码启用 HTTP/3 支持:
var builder = WebApplication.CreateBuilder();
builder.WebHost.ConfigureKestrel(serverOptions =>
{
    serverOptions.ListenAnyIP(5001, listenOptions =>
    {
        listenOptions.UseHttps();
        listenOptions.Protocols = HttpProtocols.Http3;
    });
});
上述配置指定 Kestrel 在端口 5001 上监听并仅使用 HTTP/3 协议。需配合 TLS 加密,因 HTTP/3 强制要求安全传输。
HTTP/3 核心优势
  • 基于 QUIC 实现连接快速建立,减少握手延迟
  • 支持多路复用且避免队头阻塞
  • 连接迁移能力增强,提升移动网络下的稳定性
Kestrel 内部通过 MsQuic 本机库与操作系统交互,实现高性能 QUIC 协议栈。

2.2 启用 HTTP/3 所需的运行时环境准备

启用 HTTP/3 需要底层运行时环境支持 QUIC 协议,该协议基于 UDP 而非传统的 TCP。首先,服务器操作系统需支持 UDP 套接字的高效处理,并具备足够的内核优化能力。
支持的服务器软件
目前主流支持 HTTP/3 的服务器包括:
  • NGINX(需启用 QUIC 补丁版本)
  • Caddy(原生支持 HTTP/3)
  • LiteSpeed Open Source
证书配置要求
HTTP/3 强制使用 TLS 1.3 加密。以下为 Caddy 的基础配置示例:
{
  "apps": {
    "http": {
      "servers": {
        "srv0": {
          "listen": [":443"],
          "tls_connection_policies": [{ "automate": ["example.com"] }]
        }
      }
    }
  }
}
该配置启用 HTTPS 并自动申请证书,Caddy 会在支持的客户端上自动协商 HTTP/3。 此外,客户端浏览器(如 Chrome、Edge)也需开启 QUIC 实验性支持以完成端到端通信。

2.3 基于 QUIC 协议栈的 Kestrel 绑定配置

Kestrel 作为 ASP.NET Core 的跨平台 Web 服务器,已支持基于 QUIC 的 HTTP/3 绑定。QUIC 提供了更低的连接延迟与更高效的多路复用能力,适用于高延迟网络环境。
启用 QUIC 支持的绑定配置
在 Program.cs 中通过 KestrelServerOptions 配置 QUIC 端点:
builder.WebHost.ConfigureKestrel(options =>
{
    options.Listen(new IPEndPoint(IPAddress.Any, 5001), listenOptions =>
    {
        listenOptions.Protocols = HttpProtocols.Http3;
        listenOptions.UseHttps(); // HTTP/3 必须启用 HTTPS
    });
});
上述代码将 Kestrel 绑定到 5001 端口,并指定使用 HTTP/3 协议。由于 QUIC 强制要求加密,必须配置有效的 HTTPS 证书。
QUIC 传输特性对比
特性TCP + TLSQUIC (HTTP/3)
连接建立延迟较高(多次往返)低(0-RTT 恢复)
多路复用受限于 TCP 流控原生流独立控制

2.4 使用 TLS 证书实现安全传输层集成

在现代服务通信中,保障数据传输的机密性与完整性至关重要。TLS(传输层安全)协议通过加密通道防止中间人攻击,是实现安全通信的核心机制。
证书生成与配置流程
使用 OpenSSL 生成自签名证书是测试环境的常见做法:

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes -subj "/CN=localhost"
该命令生成有效期为一年的 RSA 4096 位密钥对与证书文件,-nodes 表示私钥不加密存储,适用于容器化部署场景。
服务端集成示例
以 Go 语言为例,启用 HTTPS 服务需加载证书与私钥:

package main

import (
    "net/http"
    "log"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        w.Write([]byte("Hello over TLS!"))
    })
    log.Fatal(http.ListenAndServeTLS(":443", "cert.pem", "key.pem", nil))
}
ListenAndServeTLS 自动处理 TLS 握手,确保所有请求通过加密通道传输。
部署验证清单
  • 确保证书 CN 或 SAN 包含访问域名
  • 私钥文件权限设置为 600 防止未授权读取
  • 定期轮换证书并监控到期时间

2.5 验证 HTTP/3 服务端点的可达性与状态

使用 curl 测试 HTTP/3 连通性
现代版本的 curl 支持基于 QUIC 的 HTTP/3 请求。通过指定 --http3 参数可发起连接测试:
curl --http3 -I https://example.com
该命令发送 HEAD 请求以验证响应头。参数说明:-I 仅获取头部信息,降低网络开销;--http3 强制使用 HTTP/3 协议栈,若失败将提示 TLS 或 UDP 握手异常。
常见问题排查清单
  • 确认服务端监听 UDP 443 端口
  • 检查防火墙是否放行 QUIC 所需的 UDP 流量
  • 验证 ALPN 是否配置了 h3 标识
  • 确保客户端支持 IETF QUIC 标准(如 curl ≥ 7.66)

第三章:QUIC 协议深度集成实践

3.1 分析 QUIC 在 .NET 中的核心抽象模型

.NET 对 QUIC 的支持通过抽象层级将底层传输复杂性封装,暴露出简洁且高效的 API 接口。其核心围绕 QuicConnection、QuicStream 和 QuicListener 三大类型构建。
核心组件职责划分
  • QuicListener:监听传入的 QUIC 连接请求,类似 TCP 的 Socket 监听行为;
  • QuicConnection:表示一个加密的、多路复用的连接,管理生命周期与安全上下文;
  • QuicStream:在连接之上创建双向或单向数据流,实现独立的数据通道。
典型连接建立代码示例

var connection = await listener.AcceptConnectionAsync();
var stream = await connection.OpenUnidirectionalStreamAsync();
await stream.WriteAsync(Encoding.UTF8.GetBytes("Hello QUIC"));
上述代码展示了从接受连接到发送数据的标准流程。OpenUnidirectionalStreamAsync 创建仅用于发送的流,适用于推送场景,减少资源开销。
传输特性对比表
特性TCPQUIC (.NET)
连接建立延迟较高(需三次握手 + TLS)低(0-RTT 支持)
多路复用无(队头阻塞)支持(独立流)

3.2 自定义 QUIC 连接参数优化传输性能

在高延迟或丢包率较高的网络环境中,合理配置 QUIC 连接参数可显著提升传输效率和连接稳定性。
关键参数调优
  • 初始拥塞窗口:增大初始窗口可加快启动速度;
  • 最大传输单元(MTU)探测:减少分片,提高吞吐;
  • 重传超时(RTO)策略:动态调整以适应网络波动。
代码示例:自定义 QUIC 配置
config := &quic.Config{
    InitialStreamReceiveWindow:     65536,
    MaxStreamReceiveWindow:         1 << 20,
    InitialConnectionReceiveWindow: 1 << 20,
    MaxConnectionReceiveWindow:     1 << 21,
    MaxIdleTimeout:                 time.Second * 30,
}
上述配置通过扩大接收窗口,允许发送方在等待确认前传输更多数据,尤其适用于高速长距离网络。同时设置合理的空闲超时,避免资源泄漏。

3.3 处理连接迁移与多路径传输场景

在移动网络和边缘计算环境中,设备常面临网络切换与链路波动。连接迁移与多路径传输技术可保障通信连续性并提升吞吐量。
多路径TCP(MPTCP)基础配置
# 启用Linux内核MPTCP支持
sysctl -w net.mptcp.enabled=1
sysctl -w net.mptcp.mptcp_path_manager=fullmesh
上述命令启用MPTCP功能,并设置路径管理器为全连接模式,使客户端能自动发现并利用所有可用子流路径。参数 mptcp_path_manager 控制子流建立策略,fullmesh 适用于多接口终端设备。
典型应用场景对比
场景连接迁移需求多路径增益
移动视频通话高中
车联网数据同步极高高

第四章:典型应用场景与故障排查

4.1 构建支持 HTTP/3 的最小化 Web API 示例

构建一个支持 HTTP/3 的最小化 Web API,关键在于使用支持 QUIC 协议的服务器框架。目前,主流语言中如 Go 通过第三方库 `quic-go` 提供了成熟支持。
项目依赖配置
使用 Go 搭建时需引入 `quic-go` 和 `mux` 路由器:
import (
    "github.com/quic-go/quic-go/http3"
    "net/http"
)
该代码段导入 HTTP/3 支持模块,`http3.RoundTripper` 可作为客户端传输层,而 `http3.Server` 则用于启动服务端。
启动 HTTP/3 服务
http.Handle("/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
    w.Write([]byte("Hello over HTTP/3!"))
}))
http3.ListenAndServeQUIC(":443", "cert.pem", "key.pem", nil)
上述代码注册根路由并启用基于 TLS 1.3 的 QUIC 监听。参数 `":443"` 为标准 HTTPS 端口,`cert.pem` 与 `key.pem` 为必需的证书文件,确保加密传输。

4.2 使用 curl 和 Chrome 浏览器验证 HTTP/3 通信

使用 curl 验证 HTTP/3 支持
现代版本的 curl(7.60 及以上)支持 HTTP/3,前提是编译时启用了 QUIC 和 nghttp3 支持。通过以下命令可检测目标站点是否启用 HTTP/3:
curl -I --http3 https://cloudflare.com
该命令向 https://cloudflare.com 发起请求,并强制使用 HTTP/3 协议。参数 -I 表示仅获取响应头,--http3 指定使用 HTTP/3。若服务器支持,返回头中将包含 via 或 alt-svc 字段,表明已通过 QUIC 传输。
利用 Chrome 浏览器调试 HTTP/3 连接
Chrome 浏览器内置对 HTTP/3 的支持,可通过开发者工具中的“Network”面板查看协议版本。访问目标网站后,右键表头,启用“Protocol”列,即可看到连接所使用的协议(如 h3、h2 或 http/1.1)。 此外,在地址栏输入 chrome://net-internals/#quic 可查看 QUIC 会话的详细日志,包括连接建立、错误信息和数据流状态,便于诊断 HTTP/3 通信问题。

4.3 日志追踪与诊断工具在 QUIC 中的应用

QUIC 协议的可观测性挑战
由于 QUIC 基于 UDP 实现并加密了大部分头部信息,传统抓包工具难以解析其内部状态。因此,集成结构化日志和分布式追踪机制成为诊断连接性能问题的关键手段。
典型诊断工具集成方式
现代 QUIC 实现(如 QUIC-go)通常内置支持将关键事件输出为结构化日志。例如,启用调试日志后可记录连接建立、丢包重传与流控制变化:

q, _ := quic.ListenAddr("localhost:4433", tlsConfig, config)
for {
    sess, _ := q.Accept(context.Background())
    go func() {
        for {
            stream, _ := sess.AcceptStream(context.Background())
            log.Printf("QUIC_EVENT: stream_opened id=%d", stream.StreamID())
        }
    }()
}
上述代码在每次流打开时输出结构化日志,便于后续通过 ELK 或 OpenTelemetry 收集分析。
追踪字段标准化
为实现跨服务追踪,建议在日志中包含以下字段:
  • Connection ID:唯一标识 QUIC 连接
  • Trace ID:关联跨节点请求链路
  • Packet Number:用于分析丢包与确认延迟

4.4 常见配置错误与跨平台兼容性问题解析

路径分隔符不一致导致的跨平台故障
在Windows与类Unix系统间迁移应用时,硬编码的路径分隔符是常见错误。例如使用"\"而非"/"或语言内置的路径处理模块。
package main

import (
    "path/filepath"
    "runtime"
)

func getConfPath() string {
    return filepath.Join("config", "app.conf") // 自动适配 / 或 \
}
filepath.Join会根据runtime.GOOS自动选择正确分隔符,提升可移植性。
环境变量与大小写敏感性
Linux系统中环境变量区分大小写,而Windows不敏感。部署时需统一规范命名,推荐使用全大写命名:
  • DATABASE_URL
  • LOG_LEVEL
  • PORT

第五章:未来展望与生产环境部署建议

随着微服务架构的持续演进,Kubernetes 已成为生产环境中不可或缺的编排平台。面对高可用性与弹性扩展的需求,合理的部署策略直接影响系统稳定性。
多区域容灾设计
为提升系统韧性,建议在多个可用区部署集群节点,并结合云厂商提供的负载均衡器实现跨区域流量分发。例如,在 AWS 上可使用 EKS 集成 Route 53 进行 DNS 级故障转移。
自动化 CI/CD 流水线集成
采用 GitOps 模式,通过 ArgoCD 实现声明式应用部署。以下为 Helm Chart 在流水线中的典型调用方式:
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
  name: user-service
  namespace: production
spec:
  chart:
    spec:
      chart: ./charts/user-service
      sourceRef:
        kind: GitRepository
        name: app-repo
  interval: 5m
  values:
    replicaCount: 6
    resources:
      requests:
        memory: "512Mi"
        cpu: "250m"
监控与日志体系构建
生产环境必须集成统一监控方案。推荐组合 Prometheus + Grafana + Loki 构建可观测性平台。关键指标包括容器 CPU 利用率、Pod 重启频率和请求延迟 P99。
  • 配置 PrometheusRule 定义自定义告警规则
  • 使用 Node Exporter 采集主机级指标
  • 通过 Fluent Bit 收集容器日志并发送至 Loki
组件资源请求副本数更新策略
API Gateway1 CPU, 1Gi RAM8RollingUpdate
User Service0.5 CPU, 512Mi RAM6BlueGreen

集群拓扑图:核心层包含 API 网关、微服务组、消息队列与数据库代理层

Quic.NET:QUIC协议的.NET C#实现-Google的实验性传输层 0x5C2AAD80 QuicNet 目录 贡献 更多的 什么是QuicNet? QuicNet是下面提到的QUIC协议的.NET实现。 该实现与quic-transport草案的第32版保持一致,并且尚未提供以下相关草案的实现: quic-tls 快速恢复 开始吧 最少的工作实例 预习 服务器 using System ; using System . Text ; using QuicNet ; using QuicNet . Streams ; using QuicNet . Connections ; namespace QuickNet . Tests . ConsoleServer { class Program { // Fired when a client is connected static void Cl 立即下载

相关推荐

政府科技管理者如何提升科技成果转化项目进场交易的备案效率?.docx

政府科技管理者如何提升科技成果转化项目进场交易的备案效率?

QUIC协议解析

Quick UDP Internet Connections,是一种新的默认加密的互联网通信协议,它提供了许多改进,旨在加速HTTP通信,同时使其变得更加安全,其最终目的是在web上代替TCP和TLS协议。QUIC 协议也是整合了 TCP 协议的可靠性和 UDP 协议的速度和效率。

hanms的博客 1342

山区道路边坡落石隐患检测数据集VOC+YOLO格式241张1类别.md

【重要提示】本页面仅为资源介绍,不含外部下载地址 亲爱的 优快云 用户: 感谢你浏览本资源页面,在这里提前向大家说明相关情况,避免后续产生误解。本资源我设置的初衷是 0 积分免费分享文档介绍,希望可以无偿给到有需要的朋友。但 优快云 平台存在自动调控机制,系统会根据资源下载热度、文件体积、平台规则等因素,自动修改资源所需下载积分,页面显示为 1 积分、2 积分或更高积分都属于平台自动调整结果,并非我手动修改设置,我没有权限自主锁定积分数值。 如果你打开页面后,发现下载所需积分不为 0,请务必谨慎考虑是否下载。一旦你支付积分完成下载,后续遇到资源内容和描述不符、文件损坏等问题,我无法承担对应的积分损失,也没有渠道为你办理积分退还。在此强烈建议,只有页面明确显示 0 积分的时候,再进行下载操作。 同时特别说明:这份资源介绍文案里,没有附带任何外部下载地址。资源本身是通过 优快云 官方上传通道上传的附件,正常情况下直接点击页面自带的下载按钮即可获取文件。页面找不到外部下载链接属于正常情况,并非资源缺失。 如果因为平台积分显示异常,导致你被扣取积分,积分退款、积分异常相关问题,请直接联系 优快云 官方客服咨询处理。平台规则由官方制定,我无法干预积分变动,望各位理解。

.net 8 使用 quic 协议通讯

(-cs。

833

高空作业栏杆检测数据集VOC+YOLO格式230张3类别.md

【重要提示】本页面仅为资源介绍,不含外部下载地址 亲爱的 优快云 用户: 感谢你浏览本资源页面,在这里提前向大家说明相关情况,避免后续产生误解。本资源我设置的初衷是 0 积分免费分享文档介绍,希望可以无偿给到有需要的朋友。但 优快云 平台存在自动调控机制,系统会根据资源下载热度、文件体积、平台规则等因素,自动修改资源所需下载积分,页面显示为 1 积分、2 积分或更高积分都属于平台自动调整结果,并非我手动修改设置,我没有权限自主锁定积分数值。 如果你打开页面后,发现下载所需积分不为 0,请务必谨慎考虑是否下载。一旦你支付积分完成下载,后续遇到资源内容和描述不符、文件损坏等问题,我无法承担对应的积分损失,也没有渠道为你办理积分退还。在此强烈建议,只有页面明确显示 0 积分的时候,再进行下载操作。 同时特别说明:这份资源介绍文案里,没有附带任何外部下载地址。资源本身是通过 优快云 官方上传通道上传的附件,正常情况下直接点击页面自带的下载按钮即可获取文件。页面找不到外部下载链接属于正常情况,并非资源缺失。 如果因为平台积分显示异常,导致你被扣取积分,积分退款、积分异常相关问题,请直接联系 优快云 官方客服咨询处理。平台规则由官方制定,我无法干预积分变动,望各位理解。

ModelSim 2020.4破解失败?手把手教你解决‘Unable to checkout viewer license‘报错(附环境变量配置)

本文针对ModelSim 2020.4启动时遇到的‘Unable to checkout viewer license’报错,提供了从理解许可证机制到分步修复的完整指南。文章深入解析了viewer license与图形用户界面(GUI)的关系,并详细说明了通过生成有效许可证文件、精准配置系统环境变量及替换关键文件来解决图形界面启动失败的问题,帮助用户彻底修复并理解其背后的逻辑。

k6l7m8n9的博客 993

必看!.NET 7 在网络领域的四大更新

QuicListener – 服务器端类,用于接受传入连接。QuicConnection – QUIC 连接,对应 RFC 9000 Section 5。QuicStream – QUIC 流,对应 RFC 9000 Section 2。但是在使用这些类之前,用户代码应该检查当前系统是否支持 QUIC,因为系统可能缺失 libmsquic 或者不支持 TLS 1.3。}else{}{}else{}请注意,目前这两个属性是同步的并将显示相同的值,但将来可能会改变。

微软技术栈 1787

IC617多线程仿真卡死?手把手教你用TigerVNC替换解决ADE XL Explorer问题(附Manjaro/Centos8实测)

本文针对IC617在Manjaro、CentOS 8等高版本Linux系统中运行ADE XL Explorer进行多线程仿真时出现的卡死问题,提供了详细的诊断与解决方案。文章指出问题根源在于软件内置的旧版VNC组件不兼容,并手把手指导用户通过使用TigerVNC替换原组件来彻底解决,附有在Manjaro和CentOS 8系统上的实测步骤与验证方法。

hill8的博客 774

2022年11月 .NET CORE工具案例-.NET 7中的Quic通信

QUIC(Quick UDP Internet Connection)是谷歌制定的一种基于UDP的低时延的互联网传输层协议。我们知道,TCP/IP协议族是互联网的基础。其中传输层协议包括TCP和UDP协议。与TCP协议相比,UDP更为轻量,但是错误校验也要少得多。这意味着UDP往往效率更高(不经常跟服务器端通信查看数据包是否送达或者按序),但是可靠性比不上TCP。通常游戏、流媒体以及VoIP等应用均采用UDP,而网页、邮件、远程登录等大部分的应用均采用TCP。

微软MVP Eleven 3万+

Unity3D赛车游戏+脚本基础

本章主要介绍Unity的基础开发流程以及涉及到的概念。这个过程需要我们学会编写一些游戏脚本,在这讲的过程中我们会完成一个赛车小游戏,因此,在讲述这些基本概念和流程的时候,会同时涉及到一点脚本的开发基础.在游戏,电影和动画中,都有一个渲染的帧率,电影是24帧/s,游戏大概是30帧/s(当然也有60帧/s的)。在unity里面1秒钟,Update方法执行了30次。1秒钟有30帧,帧与帧之所消耗的时间是不一样的,那么我如何知道上一帧用了多少时间?Time.deltaTime就是为了解决这个问题。

m0_58367586的博客 7660

【GAN】pytorch-CycleGAN-and-pix2pix开源项目训练自定义数据集

Github:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix 一、概念简介 图像转换:将一张图片转换为不同风格的图片,如将一张灰度图变成彩色图,素描图换成实物图。 pix2pix:需要成对的数据集,两个不同域的图像一一对应。 CycleGAN:不需要成对的数据集,只用两个不同域(domain)的图像集合X和Y,两个集合中的图像不是一一对应的。 二、训练pix2pix模型 2.1 combine_A_and_B datasets/combin

See_Star的博客 4756

Kestrel 服务器如何原生支持 HTTP/3?深入解析 .NET 7+ 协议栈实现

掌握 ASP.NET Core 的 HTTP/3 配置,提升应用性能与现代协议兼容性。本文深入解析 .NET 7+ 中 Kestrel 原生支持 HTTP/3 的实现机制,涵盖启用方法、QUIC 协议依赖及部署场景,助力高性能服务构建。值得收藏

CompiGap的博客 608

【通信协议-RTCM】MSM语句(1) - 多信号GNSS观测数据消息格式

注释:RTCM响应消息1020为GLONASS星历信息,暂不介绍,前公司暂未研发RTCM消息类型版本的DR/RTK模块,DR/RTK模块仅NMEA消息类型使用注释:公司使用的多信号语句类型为MSM4&MSM7,也应该是运用最广泛的语句类型,例如本人之前在公司开发的工具全是基于MSM7语句类型来进行的。

qxj2422640226的博客 2093

【愚公系列】2022年11月 .NET CORE工具案例-.NET 7中的Quic通信

QUIC(Quick UDP Internet Connection)是谷歌制定的一种基于UDP的低时延的互联网传输层协议。我们知道,TCP/IP协议族是互联网的基础。其中传输层协议包括TCP和UDP协议。与TCP协议相比,UDP更为轻量,但是错误校验也要少得多。这意味着UDP往往效率更高(不经常跟服务器端通信查看数据包是否送达或者按序),但是可靠性比不上TCP。通常游戏、流媒体以及VoIP等应用均采用UDP,而网页、邮件、远程登录等大部分的应用均采用TCP。

愚公智库 9628

MATLAB 控制 E4438C 信号源的研究

通过 MATLAB,我们可以实现对 E4438C 的远程控制,从而实现更高的自动化和可编程性。总结起来,通过使用 MATLAB 和 Instrument Control Toolbox,我们可以轻松地控制 E4438C 信号源并生成各种类型的信号。需要注意的是,以上代码仅为示例,实际应用中可能需要根据具体情况进行更详细的配置和错误处理。此外,MATLAB 还提供了一系列函数和命令,可用于控制 E4438C 信号源的其他功能,如频率调谐、功率设置、调制设置等。您可以根据自己的需求进行相应的配置和控制。

RswtPerl的博客 1014

ZW3D 二次开发-制作插件

1.Windows 7 SP1 或 Windows 10 或 Windows 11(推荐 Windows 11)2.Visual studio 2017-2022 (或 C/C++的任何其他集成开发环境)(推荐 Visual studio 2022)3.ZW3D 2023 或以上版本(建议使用与 ZW3D 一致的 API 的版本)4.Qt5.9.7(for Windows)博主学习使用环境的是:Windows 11 Version 24H2 + Visual studio 2022 + Qt5.9.7(fo

fhqiwmc的博客 813

C#中的QUIC实现

本文探讨了C#中QUIC协议实现的进展与核心特性。QUIC作为基于UDP的新型传输协议,具备内置加密、快速连接和多路复用等优势。.NET从5到9版本逐步完善QUIC支持,最终在.NET 9中实现稳定API。文章详细介绍了System.Net.Quic命名空间的核心类(QuicListener、QuicConnection和QuicStream)及其使用方法,包括服务端与客户端的实现示例,并分析了不同平台的依赖要求,帮助开发者在C#中构建高性能网络应用。

冰茶的博客 1422

2026.2.11:ollama api推理GLM-OCR模型识别图片

本文介绍了使用Ollama API调用GLM-OCR模型进行图片文字识别的过程。首先通过ollama pull glm-ocr:latest命令拉取模型,然后使用Python脚本调用API接口。代码示例展示了如何发送包含图片路径的请求,并处理返回的识别结果,支持文本、公式和表格三种识别模式。运行结果展示了模型对输入图片的识别效果,为开发者提供了便捷的OCR解决方案。

拥抱具身智能,昇腾Ascend C 370

使用GOOGLE的QUIC

QUIC是Google新开发的一个基于UDP的协议,它提供了像TCP一样的传输可靠性保证,可以实现数据传输的0-RTT延迟,灵活的设计使我们可以对它的拥塞控制及流量控制做更多的定制,它还提供了传输的安全性保障,以及像HTTP/2一样的应用数据二进制分帧传输。 而QUIC协议最最吸引人的特性有两点,一是对队首阻塞问题的解决更为彻底。基于TCP的HTTP/2,尽管从逻辑上来说,不同的流之间相互独立,

好记性不如写博客! 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

.Net 6 and Quic

关于.Net 6 中 Quic Quic简介 目前该技术已经被 .Net 6 内部集成 System.Net.Quic,未来开发低延迟的项目将更加简单。 文章目录关于.Net 6 中 QuicQuic场景一、创建QuicListener二、建立连接 QuicConnection三、QuicStream总结 Quic场景 这里不得不说到 HTTP 3.0 协议, 让网页加载变的一块再快,游戏行业,发包率频繁的行业都是不错的 场景 本身就是基于Udp的上层协议,最大程度的降低了开发 高频率,低延迟的应用

逆-血 1656

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

新一代互联网传输协议QUIC浅析

QUIC(Quick UDP Internet Connection)是谷歌制定的一种互联网传输层协议,它基于UDP传输层协议,同时兼具TCP、TLS、HTTP/2等协议的可靠性与安全性,可以有效减少连接与传输延迟,更好地应对当前传输层与应用层的挑战。 QUIC的由来:为什么是UDP而非T...

chikuai9995的博客 921

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

QUIC协议简史

QUIC简史 QUIC(Quick UDP Internet Connection)是谷歌推出的一套基于UDP的传输协议,它实现了TCP + HTTPS + HTTP/2的功能,目的是保证可靠性的同时降低网络延迟。因为UDP是一个简单传输协议,基于UDP可以摆脱TCP传输确认、重传慢启动等因素,建立安全连接只需要一的个往返时间,它还实现了HTTP/2多路复用、头部压缩等功能。 为什么要使用QUIC 众所周知UDP比TCP传输速度快,TCP是可靠协议,但是代价就是 双方确认数据而衍生的一系列消耗,可以参

查理王的博客 4010

Quic浅析

简介 QUIC(Quick UDP Internet Connections)基于UDP的传输层协议,提供像TCP一样的可靠性。在提高web应用性能上,可以选择在应用层使用HTTP2.0实现多路传输,在物理层使用CDN解决网络拥塞和最后一公里问题。在传输层,目前主要使用TCP,但由于TCP本身的问题(一个充满补丁的丑陋的协议),成为了限制web应用性能的一个瓶颈。 优势 避免前序包阻...

啊浪的博客 2万+

QUIC学习总结

Quic项目介绍 对于Quic的基本下载和启动使用参考 https://www.jianshu.com/p/f17b4a015e27 。 Quic详细介绍 https://max.book118.com/html/2017/0202/87965079.shtm Quic官方文档 https://github.com/google/proto-quic 代码下载地址 https://github.c...

Hello 5964

QUIC 协议原理浅解

作者:wellsjiang,腾讯 CSIG 后台开发工程师一 QUIC 是啥?1.1 什么是 QUIC?QUIC(Quick UDP Internet Connection)是谷歌推出的一...

腾讯技术工程 3006
上一篇: 【渲染模块开发核心技术】:掌握高性能渲染的5大关键策略
下一篇: 行为树序列化从入门到精通(专家20年经验总结)
LiteCode
博客等级 码龄1年 146粉丝 2019原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值