FTP 上传问题 - 传输了 0 个字节

Sri*_*vas 1 apache ftp

在我们的一个项目中,我们使用 Apache 的 FTP 客户端 API。我必须将 xml 文件上传到 FTP 服务器,其中一个进程将继续轮询该服务器目录。所以使用上传API,我上传扩展名为.TRANSFER 的xml 文件,成功上传完整文件后,该文件将重命名为.xml 文件。

我面临的奇怪问题是,有时文件的文件大小为 0 字节。但有时会完全上传相同的文件。当我查看日志文件时,传输的字节仅为 0 kb。所以我不确定可能是什么问题。

我正在使用 linux 服务器和 Apache 的 commons 的 FTP 客户端 API。

任何调试提示和技巧都会有所帮助。

问候, 斯里尼瓦斯

小智 5

不久前我也遇到了这个问题。

我注意到如果文件大于某个大小(对我来说是 174 字节左右),它确实被正确传输。较小的文件最终被创建为零字节文件。

我相信这是 Apache commons ftp 代码中的一个错误。我通过获取源代码修复了它并进行了快速修复,我构建的最终 jar 为我们工作。

如果我没记错的话,我在公共 ftp 代码中用于传输的套接字上使用 socket.setTcpNoDelay(false) 禁用了 Nagle 的算法。