【问题标题】:Using maketorrent in libtorrent examples在 libtorrent 示例中使用 maketorrent
【发布时间】: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
  • 好主意。明天我回到办公室时可能会这样做。

标签: libtorrent


【解决方案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
  • 啊哈。我会在星期一调查一下。谢谢。
猜你喜欢
  • 1970-01-01
  • 2019-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多