刚才又有新发现。在我这宽带路由器上只能做4个端口映射,如果开FTP服务后,21端口肯定要耗费一个,就还剩下3个端口,那么只能映射3个被动模式的端口,也就是说别人只能用3线程下载。
而事实上却不是这样。刚才做了试验,我只在路由器上开了一个PASV的数据端口映射,但是用Flashget却可以开多线程下FTP服务器里面的东西……
然后再做试验,把那个PASV的数据端口映射也在路由器上关了。用FlashFXP登录,第一次不成功,但是再重新登录一次就好了。用Flashget下载,居然还是可以多线程下。
从试验看出来,宽带路由器还是蛮智能的。第一次没打开数据端口,因为路由器没有开端口映射,客户端连接服务端提供的端口,肯定连不上。但是从控制端口21发送请求后,服务端请求那个被动端口与客户端连接,所以就要求路由器打开那个被动数据端口,所以第二次连接就成功了。里面的原理还是不怎么清楚,不过表面上看,应该是这样解释。
最后我只在宽带路由器上打开21端口就能运行FTP服务了。用FlashFXP登录,第一次登录失败,第二次就成功。(要等一段时间,提示错误不能打开数据连接后)不过Flashget每次登录都能成功,立刻开始下载。这个问题比较奇怪...