免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1708 | 回复: 3
打印 上一主题 下一主题

问个关于BT客户端开发的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-11 15:13 |只看该作者 |倒序浏览
最近对P2P技术颇感兴趣,好在现在学校课也不多,所以可以研究一下。在基于开源的libtorrent-0.12.5的库基础上,自己做了个BT客户端程序,一切下载正常,并且我也做了由于机器崩溃而重启后继续下载的功能。下载后的数据比对也对。
但是就有一个问题,有时候因为带宽有限制,我只好限制它上传。研究了libtorrent半天,发现可以通过修改上传那部分代码,让客户端干脆不上传。但是问题就来了,如果我同时下载6,7个任务,会发现下着下着这些任务都没有速度了,我不知道是什么原因。可能是惩罚机制?因为对等的peer发现我不上传数据于是不再发数据给我?这本来确实也是BT协议的一部分。但是我发现,如果这个时候我再次增加一个新的任务,也是全新的PEER_ID,可是这个新的任务仍然没有数据。这是为什么呢?难道不是因为惩罚机制?而是因为ISP封了我的数据流?
谢谢!

论坛徽章:
1
天蝎座
日期:2013-10-23 21:11:03
2 [报告]
发表于 2009-11-11 15:29 |只看该作者

回复 #1 trustit 的帖子

使用修改之前的看看什么情况
具体libtorrent不熟悉,只是了解应该有惩罚机制那么一回事
另外:是不是你走的网络封BT;
         有时候网络确实不好,我用的网络下东西一般在某些时间段是没有数据传输的,有时我都怀疑种子不行

论坛徽章:
0
3 [报告]
发表于 2009-11-11 18:10 |只看该作者
我发现很有可能是惩罚机制的原因。因为我在发现这些任务长期没有速度后,重启任务,就发现很快就有速度了。
大家有这方面的见解吗?讨论讨论。

论坛徽章:
1
天蝎座
日期:2013-10-23 21:11:03
4 [报告]
发表于 2009-11-11 20:57 |只看该作者

回复 #3 trustit 的帖子

P2P下这个如何控制呢?
客户端自己控制?还是服务器会定期收集信息以更新某些名单啥的?
如果说关了重启后有流量的话可能是库里面就有这类设置,如果不上传,则断开数据传输
这个要看libtorrent源码了吧
很早以前了解过一些BT的东西
如果可以的话可以自己写一个客户端,用自己的协议库,然后支持0上传
估计早期BitTorrent应该是这样的,现在什么样就不知道了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP