[SP-pm] Net::BitTorrent

André Garcia Carneiro andre.garcia.carneir at terra.com.br
Wed Nov 5 09:22:15 PST 2008


Daniel, 


Por favor, tente ser mais claro com suas dúvidas. Especifique exatamente o que você não entendeu, para que
possamos te ajudar.

De qualquer forma, tô partindo do princípio que você leu a documentação.

Eu li um pouco da documentação, e pelo que eu entendi, você precisa instanciar um objeto Net::BitTorrent
através do método 'new'. Nele você pode passar vários parâmetros de configuração(socket, porta etc...). 

Depois, você precisa adicionar uma sessão, passando o caminho/url do arquivo torrent, através do método
'add_session'.

Uma vez definido toda a configuração de conexão, socket etc., você deve processar os eventos. Para isso tem um
método chamado do_one_loop. E tem um método alternativo também que você deve ler na sessão Alternative Event
Processing:

http://search.cpan.org/~sanko/Net-BitTorrent-0.025/lib/Net/BitTorrent.pm#___top




Você pode definir 'callbacks' para tratar 'eventos'. Isso significa que você pode associar um método que você
vai definir com um evento, usando o exemplo da documentação:

<code>
#! /usr/bin/perl -w
use strict;
use Net::BitTorrent;
#instanciando a classe Net::BitTorrent
my $client = Net::BitTorrent->new();
.
.
.

#Definindo o meu callback para o evento 'file_read'.
$client->set_callback( 'file_read', \&on_read );

#processando os eventos
while(1){
   do_one_loop();
}
.
#implementando o meu callback 
sub on_read {
 #algum código aqui para tratar o evendo file_read
}
.
.
.
</code>

No código, usei o exemplo da documentação, que está relacionando o evento 'file_read', com o método \&on_read.
O método 'on_read' é você quem ter que implementar, mas o importante é entender que quando um evento de
'file_read' ocorrer, o método on_read será invocado.

Espero que isso tenha dado uma 'luz'. É claro que existem muitas particularidades que eu não vou colocar aqui,
mesmo porque eu mesmo nunca usei esse módulo :p.  

Se falei alguma besteira, algum troll da lista vai me bater com uma árvore ou algo assim e você provavelmente
vai ficar sabendo... uhauahauah!



Cheers!


---------- Cabeçalho original -----------

De: saopaulo-pm-bounces+andre.garcia.carneir=terra.com.br em pm.org
Para: saopaulo-pm em mail.pm.org
Cópia: 
Data: Wed, 5 Nov 2008 14:25:22 -0200
Assunto: [SP-pm] Net::BitTorrent

> Net::BitTorrent
> 
> Eu não entendo como esse módulo funciona.
> http://search.cpan.org/~sanko/Net-BitTorrent-0.025/lib/Net/BitTorrent.pm
> 
> Eu tenho uma pasta com alguns arquivos .torrent e quero que ele pegue de um
> em um e baixe.
> Mas não compreendi nem como fazer baixar um .torrent
> 
> Obrigado
> 
> []'s
> -- 
> print
> "\x54\x68\x65\x20\x53\x69\x6c\x65\x6e\x74\x20\x47\x75\x61\x72\x64\x69\x61\x6e",$/
> 

--
André Garcia Carneiro
Developer(Perl/PHP)
Member of "São Paulo Perl Mongers" - http://sao-paulo.pm.org



More information about the SaoPaulo-pm mailing list