私はMonoTorrentライブラリがこれを行うことができると強く信じていますが、おそらくドキュメントが不足しているため、動作させることができませんでした.
まず、MonoTorrentは次のコードを使用して元の torrent を正常にダウンロードできるようです: https://smuxi.im/wiki/monotorrent/Managing_Torrents
しかし、マグネット リンクの人気が高まっているため、マグネット リンクも機能させたいと考えています。それらから .torrent を取得する「トリック」(µTorrent が生成するものを使用するなど) は、上記と同じコードを使用する場合でも機能しません。このようにスタックしたままで、1 秒あたり 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();
}
ダウンロードが始まらない何かが足りないのですか? エラーなし / クラッシュなし