笔记本使用网线链接能够进行ftp下载,可是经过wifi链接只能登录不能下载的问题。

环境:java

(1)服务器为阿里云服务器,有公网ip,有内网ip,公网和内网已经作了相关端口的映射,ftp服务器为FileZilla,ftp服务器被动模式已开启,防火墙已关闭服务器

(2)ftp客户端为java写的网络

问题:笔记本使用网线链接经过java写的ftp客户端能够进行下载。可是使用wifi链接经过java写的ftp客户端却只能登录,不能list也不能下载。阿里云

问题缘由分析:ftp客户端链接ftp服务器默认状况下,使用的是ftp主动链接方式(port),当客户机网络没有和路由器有ip映射的时候,ftp服务器主动模式找不到客户端IP,就会形成能够登录ftp可是不能进行list以及上传下载的操做;可是被动模式(pass)状况下的逻辑是ftp服务器给客户端开辟一个新的端口(ftp被动端口范围内),让客户机链接此端口,并请求其它操做。ip

(3)解决方法:java客户端不使用默认的主动模式,改用被动模式可解决问题;具体代码,在链接ftp服务器后面加一句设置ftp传输模式的代码:client.enterLocalPassiveMode();路由

相关文章
相关标签/搜索