FTP:421无法创建套接字

时间:2018-02-27 06:07:32

标签: java ftp-client

我正在尝试用Java开发FTP客户端。我使用Apache的org.apache.commons.net.ftp.FTPClient作为客户端,并使用filezilla作为FTP服务器。但是当我尝试发送多个文件时,我在文件上传过程中收到错误消息“421无法创建套接字”。此错误随机发生。我按如下方式设置客户端

FTPClient ftp = new FTPClient();
ftp.connect(host, port);
ftp.setControlKeepAliveTimeout(100);
ftp.login(userName, password)
ftp.setFileType(FTP.BINARY_FILE_TYPE);

这就是我上传文件的方式

input = new FileInputStream(new File(localFilePath));
stream = this.ftp.storeFileStream( hostDirectory + fileName);
byte[] bytesIn = new byte[4096];
int read = 0;

while ((read = input.read(bytesIn)) != -1) {
   stream.write(bytesIn, 0, read);
}

服务器日志

(034082)2/27/2018 11:10:24 AM - user (127.0.0.1)> TYPE I
(034082)2/27/2018 11:10:24 AM - user (127.0.0.1)> 200 Type set to I
(034082)2/27/2018 11:10:24 AM - user (127.0.0.1)> PASV
(034082)2/27/2018 11:10:24 AM - user (127.0.0.1)> 421 Could not create socket.
(034082)2/27/2018 11:10:24 AM - user (127.0.0.1)> QUIT
(034082)2/27/2018 11:10:24 AM - user (127.0.0.1)> 221 Goodbye
(034082)2/27/2018 11:10:24 AM - user (127.0.0.1)> disconnected.

我也尝试过FTP4j,但它也表现出相同的行为。我测试了filezilla客户端。它没有任何问题。我无法弄清楚出了什么问题。 这可能是什么问题?

0 个答案:

没有答案