为了账号安全,请及时绑定邮箱和手机立即绑定

大约 5 分钟后 FTP 服务器连接关闭

大约 5 分钟后 FTP 服务器连接关闭

四季花海 2023-05-17 15:45:48
我在 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);但是,不工作.. 仍然输出错误消息。
查看完整描述

1 回答

?
慕勒3428872

TA贡献1848条经验 获得超6个赞

听起来服务器在一段时间(5 分钟)不活动后决定关闭 FTP 连接。这是作为管理服务器端资源的一种方式完成的。空闲会话正在使用服务内存、内核资源、端口号等。如果不启动空闲会话,则存在服务器将耗尽它们的风险……并停止工作。

检查 FTP 服务器日志。您可能需要更改服务器端日志记录级别……暂时……以获得更多线索。

如果这是问题所在,更改客户端超时等、使用保持活动等都无济于事。事实上,如果您查看文档,您一直在调整的大部分参数都是关于客户端超时服务器的,而不是相反。

解决方案:

  • 更改 FTP 服务器配置以允许会话空闲更长时间

  • 在客户端,定期发送请求让服务器认为会话仍在使用中。


查看完整回答
反对 回复 2023-05-17
  • 1 回答
  • 0 关注
  • 434 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信