了解 Bittorrent 协议
我正在寻找一些书籍、教程网站。
我想了解 Bittorrent 协议的工作原理,然后实现我自己的跟踪器。
我对网络协议了解不多,所以我正在寻找新手。
看过以下帖子,但它们没有帮助我解决问题:
感谢您的帮助。
I am looking for some books, tutorial sites .
I want to understand how Bittorrent protocol works and later to implement my own tracker .
I don't have a big knowledge in network protocols so I am looking for a newbie stuff .
Have seen following posts but they didn't helped me with my issue :
A BitTorrent client completely written in C#?
Implementing Bittorrent Protocol
Looking for some good books/resources on understanding Bittorrent?
Thanks for help .
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
BitTorrent 规范非常容易阅读(相对而言):
http://www.bittorrent.org/beps /bep_0003.html
维基百科页面也非常全面:
http://en .wikipedia.org/wiki/BitTorrent_%28protocol%29
The BitTorrent specification is quite easy reading (relatively speaking):
http://www.bittorrent.org/beps/bep_0003.html
The wikipedia page is also surprisingly comprehensive:
http://en.wikipedia.org/wiki/BitTorrent_%28protocol%29
BitTornado 有一个跟踪器实现,它是用 Python 编写的,易于阅读。最好从一些可行的东西开始,然后你可以尝试理解基于协议的代码。 BitTornado 基于 Bram Cohen 实现的原始版本。跟踪器在 BitTornado.BT1.track.py 中实现
BitTornado has a tracker implementation and it's written in Python, which is easy to read. It's nice to start from something working and then you can try to understand the code based on the protocol. BitTornado is based on original version that Bram Cohen implemented. Tracker is implemented in BitTornado.BT1.track.py
utube 上有很多视频,包括:
斯坦福研讨会 - Bram Cohen
There's a bunch of videos on utube, including:
Stanford Seminar - Bram Cohen
对于任何想要了解 BitTorrent 协议并遇到这个问题的人来说:
我编写了一个 Node.js 脚本来完成此任务。
https://github.com/liveduo/bittorrent- script/blob/main/3-connect-node.js
您可以在本地运行它,并且它没有外部依赖项。您只需要一个 torrent(即,magnet id)和一个包含该 torrent 的节点(即,节点 IP 地址和端口)。
在 存储库 中,有更多脚本可以获取拥有 torrent 的节点。
如果您需要一些指导来让一切正常工作,我在此处写了一篇文章其中有解释和交互式脚本,您可以直接在网站上运行。
For anyone, looking to understand the BitTorrent protocol and comes across this question:
I wrote a Node.js script that does exactly this.
https://github.com/liveduo/bittorrent-scripts/blob/main/3-connect-node.js
You can run it locally and it has no external dependencies. You only need a torrent (ie. magnet id) and a node that has the torrent (ie. node ip address and port).
In the repository there's are more scripts to get nodes that own a torrent.
If you need some guidance to get everything working I wrote a post here that has explanations and interactive scripts you can run right on the website.