C++编程之Bittorrent
zxywd
这个作者很懒,什么都没留下…
展开
-
一个简单的BitTorrent客户端实现(一):概述
从读大学开始,C++就一直陪伴着我。这么多年了,总得留下些痕迹。而我一直钟爱socket编程,看了别人写的代码,再加上自己的摸索,就用C++做了最一个简单的bittorrent客户端。原创 2016-01-24 10:22:16 · 3366 阅读 · 1 评论 -
一个简单的BitTorrent客户端实现(二):种子文件解析及信息保存
关于种子文件BT的种子文件一般是以.torrent作为后缀的。原创 2016-01-26 10:20:48 · 6297 阅读 · 0 评论 -
一个简单的BitTorrent客户端实现(三):同步事件分离器
了解ACE的同学想必都知道它使用了Reactor的设计模式,ACE开发的应用程序中,有个地方会调用eventloop,里面会不停地去轮询。当询到事件时,就将事件分发给指定的事件处理器,事件处理器里面有一些什么handle_read,handle_write之类的函数来响应事件。本程序也借鉴了这种模式,这样使程序结构上变得更加清晰,理解起来也更容易些。原创 2016-02-29 09:14:28 · 1255 阅读 · 0 评论 -
一个简单的BitTorrent客户端实现(四):PeerAcceptor实现
PeerAcceptor使得本机作为BT的服务器端与网络上的peer进行通信。这样我们的BT既有服务器端,又有客户端。原创 2016-03-11 16:48:06 · 1139 阅读 · 0 评论 -
一个简单的BitTorrent客户端实现(五):tracker manager和tracker实现
TrackerManager顾名思义就是管理tracker的。因为可能有多个tracker,所以采用了trackermanager进行管理,所以也显得比较有条理些。原创 2016-04-21 16:00:30 · 2649 阅读 · 0 评论 -
一个简单的BitTorrent客户端实现(六):peer manager和peer实现
peer是整个BT通信中最复杂的部分,主要是里面各种消息的发送和一些choke和unchoke策略,piece选择策略等等。peer manager用于管理peer,本程序中维护多个peer进行远程通信。原创 2016-04-27 14:53:36 · 3388 阅读 · 2 评论