bit-torrent:使用Python + asyncio构建的BitTorrent客户端

上传者: 42125867 | 上传时间: 2022-11-04 20:10:07 | 文件大小: 121KB | 文件类型: ZIP
比特洪流 使用Python的asyncio构建的简单BitTorrent客户端 产品特点 下载种子并共享接收到的数据 图形界面(支持Drag'n'Drop,并且可以在“使用...打开”对话框中分配给* .torrent文件) 控制台界面 暂停种子,观看进度,下载和上传速度,预计到达时间 选择要下载的种子文件中的哪些文件 程序重新启动之间的保存状态 实施规范: BitTorrent协议规范( ,一些新增内容) Multitracker元数据扩展( ) (部分) UDP跟踪器协议( ) 跟踪器返回紧凑的对等列表( ) 建筑 在这个项目中,我尝试避免使用线程,而仅使用异步I / O

文件下载

资源详情

[{"title":"( 39 个子文件 121KB ) bit-torrent:使用Python + asyncio构建的BitTorrent客户端","children":[{"title":"bit-torrent-master","children":[{"title":"icons","children":[{"title":"pause.svg <span style='color:#111;'> 975B </span>","children":null,"spread":false},{"title":"file.svg <span style='color:#111;'> 1.79KB </span>","children":null,"spread":false},{"title":"directory.svg <span style='color:#111;'> 1.48KB </span>","children":null,"spread":false},{"title":"resume.svg <span style='color:#111;'> 1011B </span>","children":null,"spread":false},{"title":"logo.svg <span style='color:#111;'> 1.17KB </span>","children":null,"spread":false},{"title":"remove.svg <span style='color:#111;'> 1.62KB </span>","children":null,"spread":false},{"title":"about.svg <span style='color:#111;'> 1.55KB </span>","children":null,"spread":false},{"title":"add.svg <span style='color:#111;'> 871B </span>","children":null,"spread":false}],"spread":true},{"title":"screenshot.png <span style='color:#111;'> 47.39KB </span>","children":null,"spread":false},{"title":"torrent_cli.py <span style='color:#111;'> 7.33KB </span>","children":null,"spread":false},{"title":"samples","children":[{"title":"debian-8.3.0-i386-netinst.iso.torrent <span style='color:#111;'> 25.02KB </span>","children":null,"spread":false}],"spread":true},{"title":"requirements.txt <span style='color:#111;'> 125B </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 1.63KB </span>","children":null,"spread":false},{"title":"torrent_client","children":[{"title":"control","children":[{"title":"server.py <span style='color:#111;'> 3.44KB </span>","children":null,"spread":false},{"title":"manager.py <span style='color:#111;'> 6.07KB </span>","children":null,"spread":false},{"title":"formatters.py <span style='color:#111;'> 3.17KB </span>","children":null,"spread":false},{"title":"client.py <span style='color:#111;'> 1.79KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 133B </span>","children":null,"spread":false}],"spread":true},{"title":"models.py <span style='color:#111;'> 18.40KB </span>","children":null,"spread":false},{"title":"utils.py <span style='color:#111;'> 1.43KB </span>","children":null,"spread":false},{"title":"file_structure.py <span style='color:#111;'> 3.36KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 0B </span>","children":null,"spread":false},{"title":"algorithms","children":[{"title":"speed_measurer.py <span style='color:#111;'> 1.61KB </span>","children":null,"spread":false},{"title":"peer_manager.py <span style='color:#111;'> 5.33KB </span>","children":null,"spread":false},{"title":"announcer.py <span style='color:#111;'> 3.44KB </span>","children":null,"spread":false},{"title":"downloader.py <span style='color:#111;'> 17.01KB </span>","children":null,"spread":false},{"title":"torrent_manager.py <span style='color:#111;'> 3.48KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 56B </span>","children":null,"spread":false},{"title":"uploader.py <span style='color:#111;'> 3.63KB </span>","children":null,"spread":false}],"spread":true},{"title":"network","children":[{"title":"peer_tcp_server.py <span style='color:#111;'> 2.10KB </span>","children":null,"spread":false},{"title":"tracker_clients","children":[{"title":"udp.py <span style='color:#111;'> 6.47KB </span>","children":null,"spread":false},{"title":"http.py <span style='color:#111;'> 3.45KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 816B </span>","children":null,"spread":false},{"title":"base.py <span style='color:#111;'> 1.20KB </span>","children":null,"spread":false}],"spread":false},{"title":"__init__.py <span style='color:#111;'> 161B </span>","children":null,"spread":false},{"title":"peer_tcp_client.py <span style='color:#111;'> 14.65KB </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":"README.md <span style='color:#111;'> 4.25KB </span>","children":null,"spread":false},{"title":"LICENSE.txt <span style='color:#111;'> 1.06KB </span>","children":null,"spread":false},{"title":"torrent_gui.py <span style='color:#111;'> 20.56KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明