加载中...
加载中...
java连接FTP成功,但读取列表失败、不能上传不能下载(客户

java连接FTP成功,但读取列表失败、不能上传不能下载(客户 原创

java连接FTP成功,但读取列表失败、不能上传不能下载(客户端却可以)

vim /etc/vsftpd/vsftpd.conf

在配置文件中添加下面语句:

开放 30000  - 30999  端口号作为数据传送端口。  

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30999


java中在方法storeFile()前加

//调用此方法解决假死状态(设置为被动模式:客户端通知服务端开通一个端口用来数据传输)  

ftpClient.enterLocalPassiveMode();  


是阿里云服务器一定要配置安全组


FTP的PORT(主动模式)和PASV(被动模式)
1. PORT(主动模式)
PORT中文称为主动模式,工作的原理: FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,客户端随机开放一个端口(1024以上),发送 PORT命令到FTP服务器,告诉服务器客户端采用主动模式并开放端口;FTP服务器收到PORT主动模式命令和端口号后,通过服务器的20端口和客户端开放的端口连接,发送数据.
2. PASV(被动模式)
PASV是Passive的缩写,中文成为被动模式,工作原理:FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,发送PASV命令到FTP服务器, 服务器在本地随机开放一个端口(1024以上),然后把开放的端口告诉客户端, 客户端再连接到服务器开放的端口进行数据传输。
二.两种模式的比较
从上面的运行原来看到,主动模式和被动模式的不同简单概述为: 主动模式传送数据时是“服务器”连接到“客户端”的端口;被动模式传送数据是“客户端”连接到“服务器”的端口。
主动模式需要客户端必须开放端口给服务器,很多客户端都是在防火墙内,开放端口给FTP服务器访问比较困难。
被动模式只需要服务器端开放端口给客户端连接就行了。  

 

   Linux
推荐一个markdown编辑器工具Typora是一款支持实时预览的Markdown文本编辑器。它有OSX、Windows、Linux三个平台的版本,并且由于仍在测试中,是完全免费的。ypora官网: ht
#Java基础##面向对象和面向过程的区别面向过程:面向过程性能比面向对象高。因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix等一般
从1946年世界上第一台计算机诞生,直到今天计算机普及到千家万户,计算机的技术发展走过了70多个年头。今天,一名普通小学生就能够非常熟练的使用计算机。计算机的普及和平民化,离不开计算机操作系
没有更多推荐了 [去首页]
image
文章
376
原创
293
转载
83
翻译
0
访问量
183411
喜欢
73
粉丝
5
码龄
7年
资源
3

文章目录

加载中...
0
1