【问题标题】:libtorrent new piece alertslibtorrent 新片提醒
【发布时间】:2014-06-29 21:10:08
【问题描述】:
我正在开发一个应用程序,它将通过种子流传输多媒体文件。
后端需要在新片段到达时将它们提供给前端。
我需要一种机制来在新作品到达并经过验证时得到通知。据我所知,我可以使用block_finished_alerts 来做到这一点。我会跟踪给定片段的哪些块已到达,并在所有块都到达时读取该片段。
这个解决方案似乎有点迂回,我想知道是否有更好的方法。
【问题讨论】:
标签:
libtorrent
libtorrent-rasterbar
【解决方案1】:
您要求的内容称为piece_finished_alert。每次新作品完成下载并通过哈希检查时都会发布它。要从磁盘读取片段,您可以使用torrent_handle::read_piece()(并在read_piece_alert 中获取结果)。
但是,如果您想流媒体,您可能希望使用torrent_handle::set_piece_deadline() 并设置标志以在片段进入时发送read_piece_alerts。这将调用 libtorrent 的内置流功能。