【quic-go】Multipath QUIC项目安装指南(Windows)

一、 基于quic-go的MPQUIC简介

1. 项目介绍网站:Multipath QUIC

2. 参考论文:https://multipath-quic.org/conext17-deconinck.pdf

3. 官方安装参考教程:CoNEXT 2017 Artifacts Available

4. Github mp-quic源码:GitHub - qdeconinck/mp-quic: Please read https://multipath-quic.org/2017/12/09/artifacts-available.html to figure out how to setup the code.

 

二、 项目安装

1. 官方教程的问题

上面给出的mp-quic代码时基于quic-go的,但是由于quic-go和go 源码库的版本一直在更新而mp-quic在2022年就不更新了,所以按照上述给教程会有版本不匹配问题。例如当前quic-go库的模块名为github.com/quic-go/quic-go, 而mpquic导入quic-go库时导入的模块名为github.com/lucas-clemente/quic-go,这是旧版本的quic-go的模块名。 同时,博主目前没有查阅到相关资料表明明确的mp-quic对应的quic-go版本和go 版本。

2. 解决办法

mp-quic github上源码有一个pull request,其实现了mp-quic与quic-go指定版本的融合,并明确使用了go 1.17版本,此外其也解决了依赖项的版本兼容。这个fork仓库的代码为GitHub - jmwample/mp-quic at conext17-1。我们基于该版本代码进行安装

博主使用的go版本为1.20可以跑通

(1)  在指定目录新建文件夹名为MPQUIC(假设该文件夹路径为C:/Users/PC/MPQUIC), 进入MPQUIC文件执行命令下载代码:git clone git@github.com:jmwample/mp-quic.git

(2)  进入mp-quic文件夹内,此时所在目录为C:/Users/PC/MPQUIC/mp-quic。切换到指定分支,执行命令: git checkout conext17-1 -- force

(3)  执行模块编译: go mod tidy, go build成功后已经将可当做外部模块使用

(4) 使用模块:由于外部模块没有导入进GOPATH环境,所以我们在使用该模块时需要指定路径。假设我的一个项目要使用mp-quic模块,go.mod文件中需这样引入

//go .mod文件
module demo
go 1.20

require (github.com/lucas-clemente/quic-go v0.33.0
... //其他的依赖项

)

replace github.com/lucas-clemente/quic-go v0.33.0 =>C:/Users/PC/MPQUIC/mp-quic

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值