Monotorrent:一些经理进入Stopping状态,从不进入Stopped状态

时间:2012-07-09 19:50:00

标签: c# monotorrent

究竟发生了什么?我把源码拉进了我的项目,希望能诊断出来,但我可以用一些方向。我的印象是,停止状态包含与跟踪器的通信并对torrent进行检查。

我为TorrentStateChanged连接了处理程序,不幸的是它永远不会出现在Stopped状态,这意味着我不能简单地停止一个torrent管理器并移动文件。我在网上看到了几个关于它的讨论,但没有回复,项目似乎有点......陈旧。有没有人有这个问题的经验?

1 个答案:

答案 0 :(得分:2)

最后花了一些时间寻找解决方案。如果你的洪流有无法连接的跟踪器,MonoTorrent仍会尝试发送我们已经停止了洪流的声明。考虑到它在完成之前完全等待响应,这不是一个好主意。

在类StoppingMode的构造函数中,更改以下行:

if (manager.TrackerManager.CurrentTracker != null)

到此:

if (manager.TrackerManager.CurrentTracker != null && manager.TrackerManager.CurrentTracker.Status == TrackerState.Ok)