还是在12.12号,遇到了一个奇怪的问题,现在才想起来写到博客中。我有个习惯,都是把问题以及如何解决,有什么想法写在了本子上,因为觉得那样比较方便查阅,之前也说要玩起csdn,不过还是一直忘记了哈哈。这不重要啦,慢慢养成这个习惯~
问题是,有线网和无线网情况下,通过ftp下载服务器中的文件,开着防火墙的时候,无线网情况下下载不成功,但并未报错;有线网则可以正常运行。关了防火墙的话,都可以运行正常。
ftp进行上传下载的一个程序,先是从服务器下载文件到本地,跑程序的时候,没什么异常,日志也在正常打印,没有报错,但我发现,它却没有下载文件到本地,虽然没报错,但运行过程中,即使服务器中要下载的文件是存在的,它也会返回false,以至于不会去下载文件,后来,我发现了问题,在这一过程中,有一句代码是这样的:
client.listFiles(filePath) 获取要下载文件的文件列表,遍历查询并下载,但实际上程序运行的时候,列表为空,明明有文件,它这边却返回false。但这个程序,在同事的电脑上跑的好好地,这就让我很不理解了。
后来发现,是防火墙的问题,关了防火墙之后,就可以正常运行了。这个时候我发现,我电脑连接的是wifi
但!!!如果我接入有线网,不关闭防火墙也是可以正常运行的,这就让我更不解了!!!
由于我爱刨根问底,有问题一定要知道原因并解决才肯罢休。
于是我进入了防火墙高级设置->入栈规则 有针对 公用/专用/域 的规则。然后我就把对公用的ftp之类的设置为了允许,但好像还是不行,唯一简单粗暴的办法是关防火墙。不过我还是觉得这种举措不是那么的妥当,但我一个专门做网络的朋友跟我说,没关系的,他们对网络测试什么的也都是关了防火墙的。
好吧,我还是没能找到真正的原因——有线网和无线网情况下,ftp下载服务器中文件的问题。
还要强调一下,最简单粗暴的办法:关掉防火墙!!!!