Our Products:   CompleteFTP  edtFTPnet/Free  edtFTPnet/PRO  edtFTPj/Free  edtFTPj/PRO
0 votes
3.9k views
in .NET FTP by (180 points)
I have found the root cause. On long Get()'s EDT is not sending a periodic NOOP or any other command to keep the connection alive. Then it just hangs. What can be done to solve this, as it is a fairly large issue.

Cheers

2 Answers

0 votes
by (162k points)
I suppose that the Get() could be periodically interrupted to send a NOOP.

It is not very smart of the server to timeout a connection when a file operation is being performed though, as obviously the server knows a transfer is going on.

Are you sure this is what is happening, e.g. is there an indication of this in the server's logs?

Note that it is also possible that your firewall could be timing out the connection.

A short-term solution for binary transfers may be to cancel the transfer part way through and then use Resume() to transfer the remainder.

I have found the root cause. On long Get()'s EDT is not sending a periodic NOOP or any other command to keep the connection alive. Then it just hangs. What can be done to solve this, as it is a fairly large issue.

Cheers
0 votes
by
It's possible that what you think you are seeing is not actually what's happening. Some FTP client applications keep a pool of separate connections open, which they use to perform multiple transfers simultaneously. While you transfer a single large file the other connections are idle so the app needs to send NOOPs on those connections to keep them alive. It could be that this is what you're observing.

- Hans (EDT)

Categories

...