我正在尝试使用BitTornado-0.3.17将文件分发到多台机器(* nix)。这样做时遇到了几个问题。这是我到目前为止所做的。
./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
现在我们有一个播种机。我在另一台机器上启动了一个同行来下载BitTornado-0.3.17.tar.gz。
./ btdownloadheadless.py BitTornado-0.3.17.tar.gz.torrent
此时我没有观察我的同伴从播种机下载数据。但是,如果我杀了我的播种机并重新开始,同伴立即从播种机下载。为什么会这样?第一次播种者报告跟踪器,跟踪器应该知道播种机并将该信息分享给新加入的同伴。只有在我加入网络之后才开始播种,它才会发生。
是否有人使用BitTornado以编程方式分发文件(根本不使用GUI工具。)?
谢谢: - )
编辑:这是几天后发生的事情。我深入研究了跟踪器日志,并发现播种器将自己绑定到私有IP地址接口并进行报告。它导致其他客户无法到达播种机。因此没有下载。所以我将--ip选项传递给它,这使得它向跟踪器报告它所绑定的机器的公共IP地址。即便如此,由于某种原因,我无法让客户从播种机下载。然而,我通过首先启动客户端和最后播种器来实现它。这一直对我有用。我想不出为什么它不应该以另一种方式工作的任何理由。所以,我先启动客户,然后启动播种机。
答案 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))
这将修复错误,下载未完成。