A c++ bitterrent downloader
For drilling my c++ skills.
.----. .-. .---. .-. .-. .----..-. .-.
| {} }| |{_ _}| { } |{ {__ | |/ /
| {} }| | | | | {_} |.-._} }| |\ \
`----' `-' `-' `-----'`----' `-' `-'
Used Libraries:
- catch2, lightweight unit test framwork.
- asio, provide async network io.
Progress:
- bt文件解析
- tracker服务器连接
TODO: support UDP server
- peer data exchange 30%
- datacache 80%
TODO: support other method to write to disk
- message generate and parse
- logger 100%
- signal control 0%
改进
针对DRUSS(dependable, reliable, usable, safe, secure)标准的一些分析。
可以针对Dependable作出的改进:
ref.
- The BitTorrent Protocol Specification
- Building a BitTorrent client from the ground up in Go
- Bittorrent Protocol Specification v1.0
- Bencode
roadmap
- 分析要做那些部分
- 分析技术难题
- 搭建平台
- 自己写库