【问题标题】:libtorrent dht peer request?libtorrent dht 对等请求?
【发布时间】:2011-07-07 14:41:06
【问题描述】:

我一直在玩 libtorrent/rasterbar 的 python 绑定。 我想做的是生成一个新的“node-id”并将其重新发布给其他节点。

我读到需要创建一个“编码字典”,我假设使用 force_dht_rennounce 之类的东西来宣布,这是正确的吗?

【问题讨论】:

    标签: python uri bittorrent pex dht


    【解决方案1】:

    您可以通过制作会话状态文件来强制 libtorrent 为 DHT 使用特定节点 ID,并将其提供给 session::load_state() 函数。完成此操作后,您还需要通过调用 session::stop_dht() 后跟 session::start_dht() 来重新启动 DHT。

    您需要制作的会话状态的相关部分具有以下格式(编码):

      {
        "dht state": {
          "node-id": "<20-byte binary node-ID>"
        }
      }
    

    如果您想保留会话状态的其余部分,最好先调用session::save_state(),然后简单地插入/覆盖node-id 字段。

    类似这样的:

    state = ses.save_state()
    state["dht state"]["node-id"] = "<...>";
    ses.load_state(state)
    ses.stop_dht()
    ses.start_dht()
    

    【讨论】:

      猜你喜欢
      • 2020-04-07
      • 1970-01-01
      • 2020-01-13
      • 2019-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多