Реализация протокола Bittorrent - PullRequest
60 голосов
/ 13 июня 2009

Я ищу учебник / запись в блоге о том, как шаг за шагом реализовать протокол bittorrent. Как это устроено? Как вы делаете запросы к сверстникам? и поговорить с трекерами.

Я не против языка программирования (Java, Ruby, Perl, C #)

Ответы [ 8 ]

25 голосов
/ 30 июля 2011

полное описание протокола bittorrent:

http://jonas.nitro.dk/bittorrent/bittorrent-rfc.html

19 голосов
/ 13 июня 2009

Есть библиотека libtorrent .

Вот документация API и примеры .

9 голосов
/ 24 апреля 2014

Это хороший источник http://www.kristenwidman.com/blog/how-to-write-a-bittorrent-client-part-1/ Она объясняет процесс шаг за шагом ...

8 голосов
/ 13 июня 2009

В настоящее время я реализую BitTorrent-клиент в Java, используя эту спецификацию.

8 голосов
/ 13 июня 2009

Я бы посоветовал вам посмотреть на спецификацию и источники некоторых клиентов OSS. Вам придется проделать некоторую работу, но так работает программирование.

4 голосов
/ 11 сентября 2011

Qt очень легко читать, поэтому вы можете прочитать Пример Qt Torrent (C ++)

3 голосов
/ 05 сентября 2011

Это реализация протокола bittorrent, сделанного в .NET. Его исходный код доступен на github и имеет документацию

Monotorrent

2 голосов
/ 24 июля 2012

Реализация протокола не так сложна, следуя спецификациям. Тем не менее, существует множество внутренних вещей, таких как хранилище, масштабируемый сервер, алгоритм выбора одноранговой сети и т. Д.

Ранее в реализации BitTorrent или BitTornado использовался python, который легко читается. Я лично нашел их полезными для понимания внутренних органов.

...