Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 选择要下载的文件部分_Python_Bittorrent_Libtorrent - Fatal编程技术网

Python 选择要下载的文件部分

Python 选择要下载的文件部分,python,bittorrent,libtorrent,Python,Bittorrent,Libtorrent,我正在尝试使用Python开发自己的torrent应用程序。经过一些研究,我决定选择libtorrent,并找到了这个有趣的答案: 我还发现了另一个类似的问题,有一个答案: 但是在那里我不明白怎么做,我阅读了他们在问题中链接的完整文档,不知道如何面对这个问题 我一直在四处寻找libtorrent,试图了解如何管理下载 我怎样才能从头下载到尾呢 我的目标是开始下载torrent“ordered”,这意味着我不想下载torrent的随机部分,即目前可用的部分,我希望从头到尾下载它 如

我正在尝试使用Python开发自己的torrent应用程序。经过一些研究,我决定选择libtorrent,并找到了这个有趣的答案:

我还发现了另一个类似的问题,有一个答案:

但是在那里我不明白怎么做,我阅读了他们在问题中链接的完整文档,不知道如何面对这个问题

我一直在四处寻找libtorrent,试图了解如何管理下载

  • 我怎样才能从头下载到尾呢
我的目标是开始下载torrent“ordered”,这意味着我不想下载torrent的随机部分,即目前可用的部分,我希望从头到尾下载它

如果有人尝试过这一点,并能给我指出正确的libtorrent文档,那就太棒了


  • 如何开始下载订购的文件?--><代码>设置顺序下载()

但是我怎么能等这些碎片呢?如何将libtorrent配置为等待前10个片段,直到下10个片段开始?

下载片段的最简单方法是调用该torrent的torrent\u句柄。这是工件顺序,从工件0、1、2等开始。顺序文件的下载取决于它们在.torrent文件中指定的顺序(即通常是一个看似任意的顺序)


请注意,这将使libtorrent请求按顺序完成,但它们不一定按顺序完成。如果您真正想要的是流式文件,即在下载时播放,那么您希望按顺序完成片段,这有一个细微的区别。对于流媒体,您想看一看,它将使用不同的方式请求这些片段。

非常感谢您的回答!我读过关于顺序下载的文章,但正如你所说的那样,这并不是强制按顺序下载。您将如何使用
set\u piece\u deadline()。例如,您可以将超时时间每件增加1毫秒。