FTP客户端 - 以流方式将 Noop 发送到 FTP 服务器

FTPClient - Send Noop to a FTP server in a stream method

我正在使用 FTPClient (Apache Commons Net)

我知道FTPClient提供了两种避免FTP服务器空闲状态的方法:

  1. ftpClient.setControlKeepAliveTimeout(300) – 每五分钟发送一个 noop
  2. ftpClient.sendNoOp() – 一次性事件发送 noop

我尝试使用 setControlKeepAliveTimeout()

但是官方FTP客户端文档就setControlKeepAliveTimeout....

Please note: this does not apply to the methods where the user is responsible for writing or reading the data stream, i.e. retrieveFileStream(String), storeFileStream*(String) and the other xxxFileStream methods

我的程序只使用了retrieveFileStream,不适用于setControlKeepAliveTimeout

有没有办法在流方法中重复操作noop,而不是像sendNoOp那样的一次性事件?

没有什么可以为你做的,你引用的评论对此很清楚。

你必须自己编码:
阅读流并在这样做的同时,定期调用 FTPClient.sendNoOp.