使用BitTornado进行文件分发的问题

时间:2011-06-28 17:28:03

标签: file-upload distribution bittorrent

我正在尝试使用BitTornado-0.3.17将文件分发到多台机器(* nix)。这样做时遇到了几个问题。这是我到目前为止所做的。

  1. 下载BitTornado-0.3.17.tar.gz 从 http://download2.bittornado.com/download/BitTornado-0.3.17.tar.gz 并解开它。
  2. 按照README文件中的说明创建了一个torrent文件并启动了跟踪器。
  3. 开始播种
  4. ./btdownloadheadless.py ../BitTornado-0.3.17.tar.gz.torrent --saveas ../BitTornado-0.3.17.tar.gz
    
         
    saving:         BitTornado-0.3.17.tar.gz (0.2 MB)
    percent done:   0.0
    time left:      Download Succeeded!
    download to:    /home/srikanth/BitTornado-0.3.17.tar.gz
    download rate:  
    upload rate:    0.0 kB/s
    share rating:   0.000  (0.0 MB up / 0.0 MB down)
    seed status:    0 seen recently, plus 0.000 distributed copies
    peer status:    0 seen now, 0.0% done at 0.0 kB/s
    
      
    1. 现在我们有一个播种机。我在另一台机器上启动了一个同行来下载BitTornado-0.3.17.tar.gz。

      ./ btdownloadheadless.py BitTornado-0.3.17.tar.gz.torrent

    2. 此时我没有观察我的同伴从播种机下载数据。但是,如果我杀了我的播种机并重新开始,同伴立即从播种机下载。为什么会这样?第一次播种者报告跟踪器,跟踪器应该知道播种机并将该信息分享给新加入的同伴。只有在我加入网络之后才开始播种,它才会发生。

      是否有人使用BitTornado以编程方式分发文件(根本不使用GUI工具。)?

      谢谢: - )

      编辑:这是几天后发生的事情。我深入研究了跟踪器日志,并发现播种器将自己绑定到私有IP地址接口并进行报告。它导致其他客户无法到达播种机。因此没有下载。所以我将--ip选项传递给它,这使得它向跟踪器报告它所绑定的机器的公共IP地址。即便如此,由于某种原因,我无法让客户从播种机下载。然而,我通过首先启动客户端和最后播种器来实现它。这一直对我有用。我想不出为什么它不应该以另一种方式工作的任何理由。所以,我先启动客户,然后启动播种机。

3 个答案:

答案 0 :(得分:1)

所有症状表明只有一台机器可以连接到另一台(在本例中为“播种机”)。重新启动“播种机”意味着它向跟踪器发布并获取其他对等信息,然后连接。如果下载器是不可连接的,那么在播种机看到它的IP之前它根本无法做任何事情。

答案 1 :(得分:0)

这可能还与download_bt1.py中的rerequest_interval或track.py中的reannounce_interval有关。如果跟踪器接收并分发正确的信息,将它们设置为较小的值可以帮助您进行调试。

答案 2 :(得分:0)

当我用推特谋杀代码区分BitTornado时,我发现有点不同。 特别是Downloader.py file第75行

self.backlog = max(50, int(self.backlog * 0.075))

这将修复错误,下载未完成。