Q:用FTPClient,执行到ftp.storeFile(fileName, inputFile);无反应了服务器
A: ftpclient.enterLocalPassiveMode();input
ftp.storeFile(fileName, inputFile);问题解决cli
缘由是:FTP协议有两种工做方式:PORT方式和PASV方式,中文意思为主动式和被动式。 PORT(主动)方式的链接过程是:客户端向服务器的FTP端口(默认是21)发送链接请 求,服务器接受链接,创建一条命令链路。当须要传送数据时,客户端在命令链路上用PORT 命令告诉服务器:“我打开了XXXX端口,你过来链接我”。因而服务器从20端口向客户端的 XXXX端口发送链接请求,创建一条数据链路来传送数据。 PASV(被动)方式的链接过程是:客户端向服务器的FTP端口(默认是21)发送链接请 求,服务器接受链接,创建一条命令链路。当须要传送数据时,服务器在命令链路上用PASV 命令告诉客户端:“我打开了XXXX端口,你过来链接我”。因而客户端向服务器的XXXX端口 发送链接请求,创建一条数据链路来传送数据。
ftp