4

私はこのコードを試しました:

import libtorrent as lt
import time
ses = lt.session()
ses.listen_on(6881, 6891)
info = lt.torrent_info('test.torrent')
h = ses.add_torrent({'ti': info, 'save_path': './'})
print 'starting', h.name()
while (not h.is_seed()):
   s = h.status()
   p = h.get_peer_info()

   print lt.peer_info().ip

   sys.stdout.flush()

   time.sleep(15)

print h.name(), 'complete'

そしてそれはこれを印刷します:

starting test.avi
('0.0.0.0', 0)

('0.0.0.0', 0)
. 
.
.

だから私にピアリストを与える代わりに、それは私にゼロを与えます。私は何か間違ったことをしていますか?

4

1 に答える 1

4

Python コードにバグがあるようです。

print lt.peer_info().ip

その行は、新しい peer_info オブジェクトを構築し、IP を出力します (その時点でデフォルトで初期化され、0.0.0.0 が含まれます)。

あなたがやりたいと思うことは次のとおりです。

for i in p:
   print i.ip()

つまり、トレント内の各ピアについて、その IP を出力します。

于 2012-11-06T23:30:53.920 に答える