在Ubuntu 16.04.3 LTS上搭建QUIC交互demo
生活随笔
收集整理的這篇文章主要介紹了
在Ubuntu 16.04.3 LTS上搭建QUIC交互demo
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目的
本文依據參考文獻中的資料,來利用chromium源碼編譯出quic_server和quic_client, 并依靠它們來發送QUIC協議請求,了解QUIC交互的細節。
前提
必須能夠流暢地翻墻下載chromium等項目代碼
下面是實操記錄
項目目錄存放在
cd ~/program_develop/quic_dev
最后的目錄結構在這里提前說明一下
下載chromium項目源碼
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
在~/.bashrc中添加
export PATH="$PATH:這里為depot_tools的路徑"?
更新配置
source ~/.bashrc
mkdir chromium && cd chromium?
fetch --nohooks chromium
chromium項目源碼大約9.91G,這一步根據網速快慢可能需要花費較長時間,我這里大約40分鐘左右吧
sudo build/install-build-deps.sh
或者
sudo build/install-build-deps.sh --no-chromeos-fonts?
gn gen out/Default?
ninja -C out/Default quic_server quic_client?
此時我們已經得到quic_server和quic_client
wget -p --save-headers https://www.example.org
cd www.example.org
vim index.html
在header里加上X-Original-Url: https://www.example.org/
行末的^M使用Ctrl+V,Ctrl+M實現
cd ~/program_develop/quic_dev/chromium/src
cd net/tools/quic/certs??
./generate-certs.sh??
cd -?
--quic_response_cache_dir=/home/taoyx/program_develop/quic_dev/quic-data/www.example.org \
--certificate_file=net/tools/quic/certs/out/leaf_cert.pem \
--key_file=net/tools/quic/certs/out/leaf_cert.pkcs8 \
--port=6121 \
--v=1??
這里明確指定端口號6121,使用--v=1開啟更多的調試信息
然后是啟動Client,采用QUIC協議來發送請求和接收響應
./out/Default/quic_client --host=127.0.0.1 --port=6121 https://www.example.org/??
[2].http://blog.csdn.net/dxpqxb/article/details/76819992
本文依據參考文獻中的資料,來利用chromium源碼編譯出quic_server和quic_client, 并依靠它們來發送QUIC協議請求,了解QUIC交互的細節。
前提
必須能夠流暢地翻墻下載chromium等項目代碼
下面是實操記錄
項目目錄存放在
cd ~/program_develop/quic_dev
最后的目錄結構在這里提前說明一下
下載chromium項目源碼
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
在~/.bashrc中添加
export PATH="$PATH:這里為depot_tools的路徑"?
更新配置
source ~/.bashrc
mkdir chromium && cd chromium?
fetch --nohooks chromium
chromium項目源碼大約9.91G,這一步根據網速快慢可能需要花費較長時間,我這里大約40分鐘左右吧
編譯出quic_server和quic_client
cd srcsudo build/install-build-deps.sh
或者
sudo build/install-build-deps.sh --no-chromeos-fonts?
這兩個命令都下載失敗,但是都沒有啥影響
gn gen out/Default?
ninja -C out/Default quic_server quic_client?
此時我們已經得到quic_server和quic_client
準備測試網頁及證書
mkdir -p ~/program_develop/quic_dev/quic-data
cd ~/program_develop/quic_dev/quic-datawget -p --save-headers https://www.example.org
cd www.example.org
vim index.html
在header里加上X-Original-Url: https://www.example.org/
行末的^M使用Ctrl+V,Ctrl+M實現
cd ~/program_develop/quic_dev/chromium/src
cd net/tools/quic/certs??
./generate-certs.sh??
cd -?
生成的證書在下面的目錄
在瀏覽器中添加證書
然后打開chrome瀏覽器(我在Ubuntu 16.04上安裝的版本是63),在地址欄里輸入chrome://settings/search#ssl 然后選擇 授權中心,點擊導入 ,將net/tools/quic/certs/out/2048-sha256-root.pem導入 ,最后勾選第一項,確定即可
開啟QUIC的server和client,請求準備好的網址
下一步就是跑server,開啟指定端口監聽
./out/Default/quic_server \--quic_response_cache_dir=/home/taoyx/program_develop/quic_dev/quic-data/www.example.org \
--certificate_file=net/tools/quic/certs/out/leaf_cert.pem \
--key_file=net/tools/quic/certs/out/leaf_cert.pkcs8 \
--port=6121 \
--v=1??
這里明確指定端口號6121,使用--v=1開啟更多的調試信息
然后是啟動Client,采用QUIC協議來發送請求和接收響應
./out/Default/quic_client --host=127.0.0.1 --port=6121 https://www.example.org/??
然后,根據交互細節來了解QUIC協議,并閱讀QUIC實現的相關代碼。
參考文獻
[1].http://blog.csdn.net/Claranc/article/details/79062260[2].http://blog.csdn.net/dxpqxb/article/details/76819992
總結
以上是生活随笔為你收集整理的在Ubuntu 16.04.3 LTS上搭建QUIC交互demo的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Ubuntu 16.04.3 LTS上
- 下一篇: 在Ubuntu 16.04.3 LTS上