首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >scrape_tracker doen没有发出任何警告

scrape_tracker doen没有发出任何警告
EN

Stack Overflow用户
提问于 2016-01-09 10:16:41
回答 1查看 133关注 0票数 1

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

我试过使用scrape_tracker(),但从未收到警报。我认为我没有正确地使用警报,但我找不到我可以使用的代码。我就是这样做的:

代码语言:javascript
复制
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);
   }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-10 17:11:08

有一个遮罩,它允许并禁用要发布的警报类别。(有些类别可能相当冗长)。默认情况下,只发布错误以及对特定调用的响应(如保存简历数据、添加洪流等)。

结果是,只有在启用alert::tracker_notification警报类别时,才会发出刮伤请求。这很可能是一种疏忽,因为刮除警报只在响应执行刮取的主动调用时发布,因此响应应该发布,而不管警报掩码是什么。

然而,如果您启用跟踪器通知警报,我想您将得到刮伤响应。

代码语言:javascript
复制
s.set_alert_mask(alert::tracker_notification | alert::error_notification);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34692225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档