还是这个关于dht网络返回大量用户堵死网络的问题。。

之前发过这个问题,不知道有看到过没,,再发一次吧。
@ wxhere15
话说也能设置单个任务的同时connecting任务数嘛,免得一个任务堵死所有任务列表
当然最好根本上解决这问题。刚制作未发布的种子,不可能有dht这么多用户尝试吧。
主要有个问题,全局禁用dht后,也没办法添加磁力下载了

新种子DHT返回这么多用户是挺奇怪的。不知道这些用户连上后真的开始下载了吗?看不出是DHT的问题,还是这个torrent的infohash恰好和其它torrent重复了(几率非常非常小)

单任务连接数上限在高级设置里有的,bittorrent.max_connections_per_task 默认无限制

你仔细看下,bittorrent.max_connections_per_task选项控制的是peer总共的连接数,而不是TCP并发尝试连接数

这些用户都连不上,自然也并没有上传给他们下载,就一直反复的尝试去连接。

你说的对,half-open连接数目前没有办法按照任务加以限制

是的,我觉得这个问题只能从软件内核上下手,寻找DHT网络为何产生如此之多不存在的连接用户的问题。而且他会一直反复的去尝试连接。
或者设置并发连接数防止一个任务直接占满全局并发上限值。

DHT返回不存在用户的任务普遍吗?私信发一个磁链给我测一下吧

这个你随便制作做一个种子,挂一会你就知道了。
你可以查看日志列表与用户列表分类,完全可以复现。

好的,能重现就好

而且就算是别人发布的种子,一样也会存在上万的返回结果,很明确的看到connecting状态占满了整个程序的1000并发值,然后导致其他任务无法进行工作状态。
这就是之前我也发过帖子,为什么要来个用户交换禁用和DHT禁用了。。和上面讨论的可以限制单个任务的并发最大值。当然能找到确认问题直接解决他更好。
图中的特征码
17465effa04dbaf52afacf4bf364b68530543b29

或者DHT和用户交换,与tracker的peer交互,这三种状态,每个应该有个独立的限制通道?反正具体如何解决看你们开发者了。。。