MonoTorrent и режим метаданных
Клиент MonoTorrent не загружает файл с другого узла в режиме метаданных:
var torrentDefaults = new TorrentSettings {
UseDht = true,
EnablePeerExchange = true
};
var engine = new ClientEngine();
engine.ChangeListenEndpoint(new IPEndPoint(IPAddress.Any, port));
var dhtListner = new DhtListener(new IPEndPoint(IPAddress.Any, port + 1));
var dht = new DhtEngine(dhtListner);
var infoHash = InfoHash.FromHex("07E45F689860166CC41E44C8F07901E3E8D27D42");
var announces = new[] {
new RawTrackerTier(new[] {"http://somehostname:8080/announce"})
};
var torrentManager = new TorrentManager(
infoHash, downloadsPath, torrentDefaults, torrentsPath, announces);
engine.Register(torrentManager);
engine.RegisterDht(dht);
dhtListner.Start();
engine.DhtEngine.Start();
engine.StartAll();
Если я использую торрент-файл с метаданными, все работает нормально.
1 ответ
По сути, реализация MonoTorrent DHT сильно нарушена. Я смог заставить его работать (частично), но лучше переопределить его, чем исправить.
Я тоже заинтересован в том, чтобы MonoTorrent работал...