Our Products:   CompleteFTP  edtFTPnet/Free  edtFTPnet/PRO  edtFTPj/Free  edtFTPj/PRO
0 votes
5.8k views
in .NET FTP by
I'm using this code to sent documents to an ftp server:

ftp = new FTPClient(FTPDetails.host);
ftp.Timeout = 1000000; // test based on http://www.enterprisedt.com/forums/viewtopic.php?t=298
ftp.Login(FTPDetails.user, FTPDetails.password);
ftp.ConnectMode = FTPConnectMode.PASV;
ftp.TransferType = FTPTransferType.BINARY;
// make unique folder and put doc in it
ftp.ChDir(FTPDetails.ftpBasePath);
ftp.MkDir(uniqueFolder);
ftp.ChDir(uniqueFolder);
ftp.Put(file, fileName);
ftp.Quit(); //(actually in finally block, removed for brevity)

This works great for files up to 70mb, but I've been testing with a few files over 80mb and it fails.

I get 'Unable to read data from the transport connection', the base exception is "An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full'.

I've seen http://www.enterprisedt.com/forums/viewtopic.php?t=138, but the microsoft links suggest it would fail for all FTP attempts, but this works fine for smaller files, even after this failure. Client has 300+mb of ram free

Any ideas of cause or solution?

Many thanks.

Jon

4 Answers

0 votes
by (162k points)
You could try throttling the stream by changing the TransferBufferSize to something small, e.g. 512 or even 64

No idea if this will work but worth a try ...
0 votes
by
Thanks for the quick reply! Unfortunately no joy with 512 or 64. Any ideas if it could be server side? (Solaris 8)

Cheers
0 votes
by
Did anyone ever find a solution to this problem? I tried all of the suggestions mention in this topic as well as others to no avail. Any help would be greatly appreciated!

Thanks!
0 votes
by
Having the same problem with GET on large file : 200Mb
seems to be a problem in readline from server responce during validate()

Any ideas???????

Categories

...