gpt4 book ai didi

c++ - scrape_tracker 不对 libtorrent 发出任何警报

转载 作者:行者123 更新时间:2023-11-28 02:13:55 27 4
gpt4 key购买 nike

我在我正在构建的 C++ 应用程序中使用 libtorrent,下载工作完美,但我想在尝试开始下载之前询问跟踪器它已连接的种子和对等点的数量。

我尝试使用 scrape_tracker(),但我从未收到过警报。我想我没有以正确的方式使用警报,但我找不到可以使用的代码。这就是我所做的:

while (running)
{
sleep(1000);

std::vector<alert*> alerts;
s.pop_alerts(&alerts);

for (std::vector<alert*>::iterator i = alerts.begin(), end(alerts.end()); i != end; ++i)
{
scrape_failed_alert* tpf = alert_cast<scrape_failed_alert>(*i);
if (tpf)
MessageBox(0,"alert",0,0);

scrape_reply_alert* tpr = alert_cast<scrape_reply_alert>(*i);
if (tpr)
MessageBox(0,"alert",0,0);
}
}

最佳答案

有一个mask启用和禁用要发布的警报类别。 (有些类别可能非常冗长)。默认情况下,仅发布错误以及对特定调用的响应(例如保存简历数据、添加 torrent 等)

事实证明,仅当启用 alert::tracker_notification 警报类别时,才会发布抓取请求。这很可能是一个疏忽,因为抓取警报仅在响应执行抓取的事件调用时发布,因此无论警报掩码如何,都应发布响应。

但是,如果您启用跟踪器通知警报,我想您会收到抓取响应。

s.set_alert_mask(alert::tracker_notification | alert::error_notification);

关于c++ - scrape_tracker 不对 libtorrent 发出任何警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34692225/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com