msquic编译---Windows版本

本文详细介绍了在Windows 10上编译微软开源的QUIC协议库msquic的步骤,包括所需工具(CMake, PowerShell 6+, Visual Studio 2019)的准备,源码下载,依赖安装,编译过程,以及测试用例的运行,帮助开发者成功构建iQUIC协议库。" 109861145,8740462,DOM编程与AJAX实战,"['javascript', '前端开发', 'AJAX', 'XMLHttpRequest']
部署运行你感兴趣的模型镜像

msquic 编译—Windows版本

微软近期开源了其内部QUIC协议代码库,采用C语言编写,编译完成可以获得一个库文件,方便使用者集成到自己的应用中。

QUIC协议于2012年被Google公司提出,目前IETF组织正对其进行标准化。关于QUIC协议的优点,网络上有大量的文章对其描述,这儿我们对其不再赘述。在chromium项目中已实现了QUIC协议,在业界一般称其为gQUIC,其与IETF组织正在标准化的QUIC协议稍有不同,为了方便区分,IETF组织正在标准化的QUIC协议称为iQUIC。iQUIC一直以来没有一个较为成熟的实现版本。 此次微软开源出的QUIC协议库,遵循了IETF标准,可以说是一个iQUIC协议库,其使QUIC协议作为一个通用协议,可以传输所有种类应用层数据。本文记录msquic(Windows版)的编译过程。

编译详细过程记录在"msquic/docs/BUILD.md"文档中。目前msquic官方支持的平台有Windows和Linux,其他平台在未来有可能支持(注意是有可能,在FAQ中官方是这么回答的)。此处,我们详细记录Windows10(其他版本的Windows未做测试)平台msquic编译过程。

编译前相关工具准备

  1. CMake:安装CMake(版本没有做具体要求,下载最新的),下载链https://cmake.org/download/
    并将CMake可执行文件,加入环境变量。
  2. PowerShell (6 or greater) :安装PowerShell (版本:6及以上,作者安装的7),下载链接 https://github.com/PowerShell/PowerShell。PowerShell的版本需要符合要求,否则可能编译编译不过。
  3. Visual Studio 2019 or higher:安装Visual Studio 2019(社区版、专业版都可以)。Visual Studio 2019确定能够编译,Visual Studio的其他版本是否能编译,作者没有测试。
  4. 将Win10升级,支持schannel TLS1.3。

编译步骤

  1. 下载源码,可以通过git工具直接从github上下载源码。会依赖部分Google开源的代码,需要科学的网络环境,git命令如下。
git clone --recursive https://github.com/microsoft/msquic
  1. 打开PowerShell(必须以管理员身份运行),切换到源码根部录下,即msquic目录下。
  2. 安装依赖,执行以下命令。这儿需要从网络下载部分工具,可能需要科学的网络环境。
 ./scripts/prepare-machine.ps1-Configuration Dev
  1. 第二步执行完成后,继续执行以下编译命令,并耐心等待编译。build.ps1文件中包含很多的配置选项,此处采用默认编译选项。
./scripts/build.ps1
  1. 编译成功后,我们打开 msquic\msquic\bld\windows\x64_schannel (这是默认编译选型下的目录)目录下的 Visual Studio工程文件:msquic.sln 。可以看到msquic包含的所有项目。至此msquic编译完成。

msquic全部工程

测试用例运行

msquic提供了很多的测试用例,包括接口测试、协议测试等。我们只需要运行相关的测试脚本,便可进行自动化测试,来验证编译成果物是否正确。

在 msquic/TEST.md 文档中,记录了具体的步骤,我们在此处给出主要操作步骤。测试用例需要使用schannel TLS1.3的功能,需要进行注册。

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server" /v Enabled /t REG_DWORD /d 1 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server" /v DisabledByDefault /t REG_DWORD /d 0 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client" /v Enabled /t REG_DWORD /d 1 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client" /v DisabledByDefault /t REG_DWORD /d 0 /f

接下来运行测试脚本:

./scripts/test.ps1

耐心等待,测出测试的时间较长。

后记

对于msquic协议怎么集成到应用中,还需要进一步学习。

您可能感兴趣的与本文相关的镜像

HunyuanVideo-Foley

HunyuanVideo-Foley

语音合成

HunyuanVideo-Foley是由腾讯混元2025年8月28日宣布开源端到端视频音效生成模型,用户只需输入视频和文字,就能为视频匹配电影级音效

评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值