多年来,我一直在使用 Indy 通过 FTP 传输文件,但一直未能为以下问题找到令人满意的解决方案。
当用户在路由器后面上传大文件时,有时会发生以下情况:文件上传正常,但同时命令通道因超时而断开连接。通常,直接连接到服务器时不会发生这种情况,因为服务器“知道”数据通道上正在发生传输。但是,有些路由器并没有意识到这一点,并且命令通道已关闭。
许多程序会定期发送 NOOP 命令以保持命令通道处于活动状态,即使这不是标准 FTP 规范的一部分。我的问题:我该怎么做?我是否在 OnWork 事件中发送 NOOP 命令?这是否会以某种方式造成任何附带损害,例如,我是否需要处理一些响应?我如何最好地解决这个问题?