views:

292

answers:

2

Is it possible to transfer files through FTP using the library above in an ACTIVE FTP mode?

It takes my app 13 seconds to move the 5KB file over - when I traced the code, turned out that the majority of these 13 seconds is spent on "sleeping" : time between "entering passive mode: 227" and "data transfer started", it was a good 8 seconds.

Any way to use this lib differently? I just use GetFile function as is.

Thanks in advance

+1  A: 

Sorry, I don't know anything about OpenNETCF's FTP component.

We're using the FTP/FTPS component (commercial) by Rebex (http://www.rebex.net). It's really great! If you can spend a few bucks, I'd suggest to give it a try.

Christian Schwarz
do they have a version for compact framework? (CF .net)
gnomixa
it says it supports CF 1.0 and 2.0.
ctacke
It works under CF 1.0, 2.0 and 3.5.
Christian Schwarz
Yes, all version of .NET Compact Framework are supported (including the oldes one).
Martin Vobr
Hi Martin, quick question for you. i went to Rebex web site and under the deployment platforms for this package all I see is:Operating System for Deployment * Windows Vista * Windows XP * Windows 2000what about Windows CE? My compact framework application runs on Windows CE 4.0.
gnomixa
Martin, do you have link to the trial version for cf 2.0? i only found one for cf 3.5. We are going to move to 3.5 soon, but we are on 2.0 still so i would like to try your product for 2.0. ALso, if we buy it for 2.0, do we need to buy it again for 3.5? or is it the same library that supports both versions? It's a bit unclear...
gnomixa
so i am looking at:http://www.rebex.net/ftp.net/download.aspxand it does seem that we would need to buy 2 versions of your product if we want to support both cf 2.0 and 3.5 apps. Please confirm.
gnomixa
Hmm, it looks like we have to make a download page a bit simpler :-(The FTP component comes in two variant: ".NET" (.NET Framework 1.0, 1.1, 2.0 and newer ) and ".NET/.NET CF" which includes all desktop version plus .NET Compact Framework 1.0, 2.0. 3.5. When you buy the .NET/.NET CF version you'll get binaries for all platforms.For differences between variants see http://www.rebex.net/ftp.net/purchase.aspx
Martin Vobr
@gnomixa: yes, the .NET CF on Windows CE 4.0 is supported.
Martin Vobr
@gnomixa: The trial for .NET CF 2.0 is at http://www.rebex.net/ftp-ssl.net/download.aspx . Just click at link labeled "Download setup package for .NET Compact Framework 2.0 and Visual Studio 2005/2008"
Martin Vobr
A: 

The main problem with that lib (if it is the one i'm thinking of) is the sync comms implemented via sleeps and yes you can sleep for longer than necessary. Is it socket based? I forget but on some (all?) CE devices you can't sync send with a timeout which means you write code that can hang (no timeout) so sleeps are actually the better bet in this scenario!!!???!!!. I did ground-up rewrite this lib to be async but the client on that one wouldn't allow me to contribute the code back. :(

If it is the one with the source up on the open net cf forums then just grab the code and reduce the sleeps if your network is teh awesomes, the issue with this kind of solution is that you might "miss" a success if your sleep is too short or the network gets a little clogged up as you didn't wait long enough before touching your receive buffer.

Failing that rewrite with async or look elsewhere!

Quibblesome
thanks, that does seem correct, and yes it is socket based. I think we are probably going to buy component. I am now looking at Rebex, IPWorks and XCeed.This free lib has worked for us for a year, but as more and more files need to be moved around, the "sleeping" really adds up.
gnomixa