说明
quic-go是使用Go来重写chromium中的QUIC协议,将来计划过渡到IETF版本的QUIC协议。
目前该协议还处于不断更新和活跃之中,目前IETF版本的QUIC协议草案版本号已经到draft 9
下面是我对REAME的实操记录,以作备忘。
项目主页
GO环境搭建
目前Ubuntu 16.04.3 LTS使用官方源安装的版本是1.6.2, 并不符合quic-go项目的版本1.9+的要求。
为此,需要从源码安装Go 1.10,参见本博文章
http://blog.csdn.net/tao_627/article/details/79375950
设置GOPATH
这非常关键,目前我的设置如下:
vim ~/.bashrc
export GOPATH=/home/taoyx/program_develop/go_demo
source ~/.bashrc
下载并安装项目
在/home/taoyx/program_develop/go_demo目录的src下面,下载,编译和安装quic-go项目代码
cd github.com/lucas-clemente/quic-go
执行下面的命令测试
go test ./...
测试发现进行GQUIC测试时,有很多fail,原因待查
测试example目录下面的server
cd ~/program_develop/quic_dev/chromium/src
./out/Default/quic_client --host=127.0.0.1 --port=6121 --v=1 https://quic.clemente.io
测试example目录下面的client
我悲催的发现,测试网站的QUIC版本与当前client的版本不匹配,测试无法进行
go run example/client/main.go https://clemente.io
更进一步的研究待续......
quic-go是使用Go来重写chromium中的QUIC协议,将来计划过渡到IETF版本的QUIC协议。
目前该协议还处于不断更新和活跃之中,目前IETF版本的QUIC协议草案版本号已经到draft 9
下面是我对REAME的实操记录,以作备忘。
项目主页
https://github.com/lucas-clemente/quic-go
特别要求
必须能流畅翻墙去下载go相关源码包GO环境搭建
目前Ubuntu 16.04.3 LTS使用官方源安装的版本是1.6.2, 并不符合quic-go项目的版本1.9+的要求。
为此,需要从源码安装Go 1.10,参见本博文章
http://blog.csdn.net/tao_627/article/details/79375950
设置GOPATH
这非常关键,目前我的设置如下:
vim ~/.bashrc
export GOPATH=/home/taoyx/program_develop/go_demo
source ~/.bashrc
下载并安装项目
在/home/taoyx/program_develop/go_demo目录的src下面,下载,编译和安装quic-go项目代码
go get -v -t -u github.com/lucas-clemente/quic-go
cd github.com/lucas-clemente/quic-go
执行下面的命令测试
go test ./...
测试发现进行GQUIC测试时,有很多fail,原因待查
测试example目录下面的server
go run example/main.go -www /var/www/
cd ~/program_develop/quic_dev/chromium/src
./out/Default/quic_client --host=127.0.0.1 --port=6121 --v=1 https://quic.clemente.io
测试example目录下面的client
我悲催的发现,测试网站的QUIC版本与当前client的版本不匹配,测试无法进行
go run example/client/main.go https://clemente.io
后来我在网上找到一个可以提供QUIC服务的网站,使用上面的client去请求,可以成功获取响应
go run example/client/main.go 'https://liudanking.com'
下面是在Chrome浏览器(版本号64)中开启QUIC之后,请求上面的同一个地址,获取的QUIC交互截图
更进一步的研究待续......