![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
libtorrent源码解析
文章平均质量分 88
Ch_ty
这个作者很懒,什么都没留下…
展开
-
NAT穿透技术简介和实现方案分析
1. NAT和NAT穿透 NAT的出现是为了解决IPV4地址稀缺的问题,同时起到了防火墙的作用保护了内网的信息安全,但是对于P2P下载来说无疑是很大的阻碍。本文先简单介绍了NAT和NAT穿透的分类,然后就常用的STUN/TURN/ICE进行介绍,最后分析现有的一些ICE开源项目。1.1 NAT类型介绍 根据RFC3235规定,NAT类型主要有Full Cone NAT(全锥型), Res...原创 2020-04-11 18:38:59 · 3521 阅读 · 4 评论 -
libtorrent源码分析(四)LSD实现
本文分析libtorrent中LSD功能的实现源码。LSD, 即local service discovery是局域网BT客户端发现最常用也是最容易的方式。原创 2020-01-18 17:43:36 · 1497 阅读 · 0 评论 -
libtorrent源码分析(三)BT下载相关知识总结
bt协议有早起的tracker版本(俗称bt1.0)和现在常用的基于DHT的版本(俗称bt2.0),下文为整理的协议相关资料。tracker版本 bittorrent是一个文件分发协议,它使用url来定位文件而且跟web服务无缝集成。当有多个人同时下载同一个文件时,下载者之间可以互相上传自己已有的那部分文件,让一个文件支持很多人同时下载却只增加小量的带宽负担变成可能,这就是bt协议相比h...原创 2019-10-19 08:58:43 · 6991 阅读 · 0 评论 -
libtorrent源码分析(二)VS上libtorrent编译总结
1. 简介 libtorrent源码结构较为复杂而且内容极多,从微观开始一点点研究很容易迷失了方向,比较合适的方式是先跑测试代码,再逐步调试的过程中熟悉每个部分的源码,由此入手可以较为轻松。本文记录libtorrent在windows平台的编译经验。 libtorrent依赖OpenSSL和boost库,首先要编译Openssl和boost库。在之前已经总结过openssl的编译,因此这里...原创 2019-10-13 12:34:28 · 1503 阅读 · 7 评论 -
libtorrent源码分析(一)整体框架
一. 前言 libtorrent是著名的BT下载开源库,基于boost库编写,可以实现BT下载功能而且功能齐全,代码也值得研究,在此开文分析libtorrent的源码。一切就从整体框架开始吧。二. bt下载流程简介磁力链接和种子文件 BT下载的第一步是众所周知的下载磁力链接/种子文件,然后下载程序会根据磁力链接/种子文件来下载文件。这是作为用户表层看到的下载过程。实际上磁力链接和种...原创 2019-07-20 18:52:44 · 4273 阅读 · 0 评论