Any recommendations for a good cross-platform SFTP client?

Posted by mopfer on 15-Nov-2013 17:06

We'd like to start using SFTP instead of FTP, and ideally would use the same tools from our code that is running on Windows that we use from our code is running on Unix or Linux.  Our customers use different flavors of those operating systems, and it would be nice if there was something we could use that worked the same way across all platforms.

Has anyone had a good experience with such a tool?

 

Posted by cverbiest on 22-Nov-2013 06:55

I can't recommend any tool in particular, but in OOABL I would define an interface class for the file transfer.

For each client software I would then create a new class implementing that interface.

The rest of application codes against the interface.

You also need some logic or configuration to determine which class actually get instantiated. This can be as simple as "case opsys" when

That makes you less dependant of the choice you make here.

If for some reason (OS upgrade, new OS, issues with the client software...) you need to use another client you just have to write a class for that new file transfer client.

Posted by mopfer on 26-Nov-2013 14:14

Thanks for the advice.  

We're ending up using PuTTY for the actual transfer processing, with a structure similar to your suggestion.  

One variation is that we are using a persistent dot-p called from the class to control some of the execution so we can make asynchronous calls with an event procedure to do any work that might take more than a moment.  I couldn't figure out how to get a call-back procedure to work for async when calling directly from a class.

All Replies

Posted by cverbiest on 22-Nov-2013 06:55

I can't recommend any tool in particular, but in OOABL I would define an interface class for the file transfer.

For each client software I would then create a new class implementing that interface.

The rest of application codes against the interface.

You also need some logic or configuration to determine which class actually get instantiated. This can be as simple as "case opsys" when

That makes you less dependant of the choice you make here.

If for some reason (OS upgrade, new OS, issues with the client software...) you need to use another client you just have to write a class for that new file transfer client.

Posted by mopfer on 26-Nov-2013 14:14

Thanks for the advice.  

We're ending up using PuTTY for the actual transfer processing, with a structure similar to your suggestion.  

One variation is that we are using a persistent dot-p called from the class to control some of the execution so we can make asynchronous calls with an event procedure to do any work that might take more than a moment.  I couldn't figure out how to get a call-back procedure to work for async when calling directly from a class.

This thread is closed