Monotorrent: некоторые менеджеры переходят в состояние остановки и никогда не переходят в состояние остановки
Что именно происходит? Я включил источник в свой проект в надежде, что смогу диагностировать это, но я мог бы использовать какое-то направление. У меня сложилось впечатление, что состояние остановки завершает связь с трекером и запускает проверки на торренте.
Я подключил обработчики для TorrentStateChanged и, к сожалению, он никогда не выйдет из состояния Stopped, что означает, что я не могу просто остановить торрент-менеджер и переместить файлы. Я видел пару обсуждений этого в сети, но никаких ответов, и проект кажется немного... устаревшим. У кого-нибудь есть опыт решения этой проблемы?
1 ответ
Наконец-то потребовалось время, чтобы найти решение. Если у вашего торрента есть трекеры, к которым он не может подключиться, MonoTorrent по-прежнему пытается отправить объявление о том, что мы остановили торрент. Это не очень хорошая идея, учитывая, что она ждет только ответа, прежде чем завершить.
В конструкторе для класса StoppingMode
измените эту строку:
if (manager.TrackerManager.CurrentTracker != null)
к этому:
if (manager.TrackerManager.CurrentTracker != null && manager.TrackerManager.CurrentTracker.Status == TrackerState.Ok)