Ok, so I found these two that support it:
- BulletProof FTP Server
- Pure-FTPd

Will test further.

On 17.10.2017 18:29, sebb wrote:
> On 17 October 2017 at 16:01, Basin Ilya <basini...@gmail.com> wrote:
>> Hi sebb
>>
>>> No, because some FTP servers *do* support asynchronous control channels.
>> Do you know any?
> 
> I cannot remember the name, but I know I came across at least one when 
> testing.
> 
> But even if there were currently no such servers, AFAIK it is
> permitted by the RFCs so NET should not assume there are none.
> 
>>
>> On 17.10.2017 17:54, sebb wrote:
>>> On 17 October 2017 at 12:34, Basin Ilya <basini...@gmail.com> wrote:
>>>> Hi.
>>>> I'm using
>>>> FTPClient.retrieveFileStream()
>>>>
>>>> and therefore I need to implement keepalive mechanism by my own.
>>>
>>> Not necessarily.
>>>
>>> The FTP server does not need the NOOPs.
>>> They are only needed to deal with routers that detect the inactive
>>> control channel and decide to drop the connection even though the data
>>> channel is active.
>>>
>>>> I wanted to mimic the implementation from FTPClient.CSL, but then I 
>>>> thought:
>>>>
>>>> Most FTP servers don't reply to NOOPs until transmission has finished and 
>>>> yet, sending NOOPs helps to keep them alive.
>>>
>>> No, the FTP servers don't need the NOOPs.
>>> And some do reply before data transmission completes.
>>>
>>>> So we can safely assume that no FTP servers support this and let 
>>>> CSL.cleanUp() collect all the responses at the end.
>>>
>>> No, because some FTP servers *do* support asynchronous control channels.
>>>
>>>> My tests show vsftpd 2.2.2 does not support that and you can send up to 
>>>> 27000 NOOP commands to it until the socket write gets blocked.
>>>>
>>>> On the other hand, on most FTP servers for each NOOP keepalive FTPClient 
>>>> waits for 1000 milliseconds for a reply that never comes. This slows 
>>>> things down a little.
>>>>
>>>> What bad thing will happen, if we remove __getReplyNoReport() from 
>>>> FTP.__noop() and increment notAcked unconditionally?
>>>
>>> Try it and see?
>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>>>> For additional commands, e-mail: dev-h...@commons.apache.org
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>>> For additional commands, e-mail: dev-h...@commons.apache.org
>>>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to