在 libtorrent 示例中使用 maketorrent
Posted
技术标签:
【中文标题】在 libtorrent 示例中使用 maketorrent【英文标题】:Using maketorrent in libtorrent examples 【发布时间】:2015-05-14 05:24:39 【问题描述】:所以我正在尝试构建一个使用 libtorrent 的应用程序。但是,在开始之前,我想确保我已经正确编译了 lib,并且我有一个可运行的测试环境。 我目前正在使用 opentracker 运行 VM,并尝试使用 libtorrent 中的示例客户端进行连接。 首先,我首先使用 libtorrent 创建一个 .torrent 文件(我目前没有坐在可以使用 libtorrent 的计算机前,所以我可能记错了确切的命令):
maketorrent.exe dummy.txt -t "http://10.XXX.XXX.XXX/announce"
这给了我一个名为 a.torrent 的 .torrent 文件。打开文件一切正常,编码正确,并且发布地址在那里。 接下来我尝试将它添加到示例客户端,希望它开始播种:
client_test.exe a.torrent
一切正常,但没有找到跟踪器。然后,如果我按 t 显示跟踪器信息,我会看到一个错误(可能不是确切的措辞):
Alert: null unsupported URL protocol
好的,所以我构建 libtorrent 的方式可能有问题。所以我得到了 Halite 客户端,因为它也应该建立在 libtorret 之上。但是我有同样的问题。 因此,我查看了代码,并找到了生成此错误消息的位置。该代码正在检查我是否使用 HTTP 或 HTTPS 协议提供地址,我就是。那么可能是我无法使用裸 IP 地址还是我做错了什么?
【问题讨论】:
种子文件真的正确吗?测试上传到:torrenteditor.com 好主意。明天我回到办公室时可能会这样做。 【参考方案1】:我发现了问题。 IP地址或种子本身没有问题。相反,这是缓存的问题。 第一次添加种子时,我使用了 http:\XXX.XXX.XXX.XXX 而不是 http://XXX.XXX.XXX.XXX,但这不起作用。但是,在那之后我对种子文件所做的任何更改都没有坚持。在我删除 .resume 文件夹之前,它总是回退到那个原始文件。
【讨论】:
是的,跟踪器保存在简历文件中。这是为了保留用户添加的跟踪器。 但是如果更新了torrent文件的内容,是不是应该不更新列表呢?而不是仅仅忽略更新? 也许您的客户端已配置为合并它们。它由flag_merge_resume_trackers
控制,见libtorrent.org/reference-Session.html#add_torrent_params
啊哈。我会在星期一调查一下。谢谢。以上是关于在 libtorrent 示例中使用 maketorrent的主要内容,如果未能解决你的问题,请参考以下文章