I have been using Indy to transfer files via FTP for many years, but could not find a satisfactory solution for the following problem.
When a user downloads a large file, behind the router, sometimes the following happens: the file is loaded in order, but at the same time the command channel is disconnected due to a timeout. Usually this does not happen with a direct connection to the server, because the server "knows" that the transfer is occurring on the data channel. Some routers are unaware of this, and the command channel is closed.
Many programs periodically send a NOOP command to support the command channel, even if this is not part of the standard FTP specification. My question is: how do I do this? Send NOOP command in OnWork event? Does this have any collateral damage in any way, for example, do I need to process some response? What is the best way to solve this problem?
delphi ftp indy
Lobuno
source share