14.12. Implementacja klienta BitTorrent

Problem

Chcemy napisać skrypt w języku Ruby, który pobiera lub udostępnia duże pliki za pomocą protokołu BitTorrent.

Rozwiązanie

Zewnętrzna biblioteka RubyTorrent implementuje protokół BitTorrent, który można wykorzystywać do pisania klientów BitTorrent. W pakiecie RubyTorrent nie ma pliku setup.rb, zatem trzeba ręcznie skopiować pliki do katalogu klas języka Ruby bądź dołączyć je do plików aplikacji.

Klasa BitTorrent działa tak jak klient BitTorrent, aby zatem pobrać plik .torrent, trzeba podać jego adres URL. W poniższym kodzie następuje pobieranie do bieżącego katalogu roboczego klasycznego horroru Noc żywych trupów:

require 'rubytorrent' file = 'http://publicdomaintorrents.com/bt/btdownload.php?type=torrent' ...

Get Ruby. Receptury now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.