I am looking for a tutorial/blog post on how to implement bittorrent protocol step by step. How it works? How do you make requests to peers? and talk to trackers.
I do not mind the programming language (java,ruby,perl,c#)
I am looking for a tutorial/blog post on how to implement bittorrent protocol step by step. How it works? How do you make requests to peers? and talk to trackers.
I do not mind the programming language (java,ruby,perl,c#)
the complete description of bittorrent protocol:
There is the libtorrent library.
Here's the API documentation and examples.
This is good source http://www.kristenwidman.com/blog/how-to-write-a-bittorrent-client-part-1/ She explains the process step by step...
I'd suggest you look at the spec and sources of some OSS clients. You'll have to do some work, but that's how programming works.
Implementing the protocol is not that hard by following the specs. However, there are lots of internal things like storage, scalable server, peer/piece pick algorithm, etc.
Earlier BitTorrent implementation or BitTornado used python, which is easy to read. I personally found them useful to understand the internals.
Qt is very easy to read so you can read the Qt Torrent Example (C++)
This is a implementation of the bittorrent protocol done in .NET. Its source code is available on github and it has documentation