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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.