【发布时间】:2019-12-12 13:13:10
【问题描述】:
我在 java 中使用 Apache commons-net 3.6 库
我正在制作一个程序,它以一定的间隔周期访问 ftp 服务器并接收文件(只有一个文件)
当我第一次运行该程序时,它可以正常运行,但是大约 5 分钟后,当我再次访问该文件时,我打印出一条错误消息..
(如果interval-cycle小于5分钟,则周期性运行)
当然,与服务器的连接只在第一次开始时进行
error message : org.apache.commons.net.ftp.FTPConnectionClosedException: FTP response 421 received. Server closed connection.
我认为是ftp连接超时问题
所以我尝试的方式
FTPClient.setControlKeepAliveTimeout(sec);
FTPClient.setConnectTimeout(ms);
FTPClient.setDataTimeout(ms);
FTPClient.connect();
FTPClient.setSoTimeout(ms);
但是,不工作..仍然输出错误消息。
请帮帮我:(
【问题讨论】:
-
每次完成后都应该关闭连接。你不能依赖服务器为你保持开放。
-
@user207421 你能解释一下为什么你不能保持服务器打开吗?
-
因为你不能依赖服务器来为你保持开放。我已经说过了。这正是您正在经历的。
标签: java ftp ftp-client apache-commons-net