我坚信 MonoTorrent 库可以做到这一点,但这可能是由于缺乏文档,我无法让它工作。
首先,MonoTorrent 似乎能够通过使用以下代码成功下载原始种子: https ://smuxi.im/wiki/monotorrent/Managing_Torrents
但是由于磁力链接受欢迎程度的增加,我希望磁力链接也能正常工作。即使使用与上面相同的代码,从它们中获取 .torrent 的“技巧”(例如使用 µTorrent 生成的那些)也对我不起作用。它像这样卡住,每秒创建 1-3 个对等点,但没有任何进展:
StackOverflow 在这个主题上的最佳问题/答案是 MonoTorrent - 指向 Torrent 文件的磁力链接,但不幸的是,答案甚至与以下 MonoTorrent 构造函数不匹配:
public TorrentManager(Torrent torrent, string savePath, TorrentSettings settings);
public TorrentManager(MagnetLink magnetLink, string savePath, TorrentSettings settings, string torrentSave);
public TorrentManager(Torrent torrent, string savePath, TorrentSettings settings, string baseDirectory);
public TorrentManager(InfoHash infoHash, string savePath, TorrentSettings settings, string torrentSave, IList<RawTrackerTier> announces);
最后我去尝试了一些其他的代码,显然你需要传递给它一个 MagnetLink 或 InfoHash,所以我给了它一个 InfoHash,如下所示:
ClientEngine engine;
TorrentManager manager;
string savePath;
public TorrentDownload(string savePath)
{
this.engine = new ClientEngine(new EngineSettings());
this.savePath = savePath;
}
public void DownloadMagnet(string hash)
{
manager = new TorrentManager(InfoHash.FromHex(hash), savePath, new TorrentSettings(), savePath, new List<RawTrackerTier>());
engine.Register(manager);
manager.Start();
}
我错过了一些我的下载甚至没有开始的东西吗?没有错误/没有崩溃