【问题标题】:Libtorrent add peer by IP [duplicate]Libtorrent通过IP添加对等点[重复]
【发布时间】:2016-05-15 22:03:52
【问题描述】:

是否有一种直接的方法可以使用 Libtorrent 通过 IP 地址手动添加对等点?例如,如果您已经拥有具有所请求文件的对等点的 IP 地址,并且想要将它们添加到对等点列表中。

【问题讨论】:

  • 您尝试了吗?你能告诉我们你的研究吗?具体来说,您遇到了什么困难?
  • 虽然我很确定这不是它的工作原理。如果有人正在播种种子,那么他们将已经在对等列表中。您不能“添加”还不是对等点的对等点。我在the documentation 中看不到任何建议可以(或应该)完成您所要求的事情。为什么不直接从其他同行下载?
  • @LightnessRacesinOrbit 我查看了 libtorrent 文档,但找不到任何东西。理想情况下,我想要一种快速的方法来验证给定的对等点是否连接到网络并为文件播种。如果我们已经碰巧知道他们的 IP 地址,我们可以直接将他们添加到对等列表中(假设他们正在播种文件并连接到网络)。

标签: c++ ip-address p2p dht libtorrent


【解决方案1】:

还没有尝试过,但我很确定 connect_peer 函数应该可以解决问题:

void connect_peer (tcp::endpoint const& adr, int source = 0
  , int flags = 0x1 + 0x4 + 0x8) const;

connect_peer() 是一种手动连接到认为是 torrent 一部分的对等点的方法。如果对等方没有响应,或者不是该洪流的成员,它将简单地断开连接。除了进行不必要的连接尝试外,使用它不会造成任何伤害。如果 torrent 未初始化或处于排队或检查模式,这将引发 libtorrent_exception。第二个(可选)参数将按位或运算到此对等点的源掩码中。通常这是 peer_info 中的源标志之一。即跟踪器、pex、dht 等。

标志是与 ut_pex 扩展一起传递的相同标志。

【讨论】:

  • Arvid Norberg 同意here
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
  • 2016-07-31
  • 2012-07-07
  • 2011-05-13
  • 2014-09-25
相关资源
最近更新 更多