|
|
Home » Developing U++ » UppHub » FTP class and reference example for U++
Re: FTP class and reference example for U++ [message #49680 is a reply to message #43053] |
Mon, 02 April 2018 00:17  |
Oblivion
Messages: 1071 Registered: August 2007
|
Senior Contributor |
|
|
Hello,
It's been a long while since the last update.
A new and major release of FTP class is finally here: Version 2.0.0
New version is far superior to the older (v 1.2) version of FTP package. Basically it is simpler yet more powerful.
API-wise, although I've tried hard to keep the old interface intact, and partially succeded in this, some breakages were necessary.
Yet I will also maintain the old code for some time.
I had to redesign the Ftp class to let it take advantage of the non-blocking interface I used in SSH pacakge. Now they are almost identical. 
Here are the major changes:
MAJOR RELEASE: Ftp package, version 2.0.0
Necessary API breakage.
Ftp is redesigned, using an effective, and simple queue-model similar to the SSH package's.
Old multithreading code completely ditched in favor of the new AsyncWork based ftp workers.
This resulted in noticable performance gain, and simplicity.
Non-blocking mode is finally implemented. Ftp class can do non-blocking calls easily.
FTPS mode improved. It is now possible to inspect the SSL information after handshake.
Support for user-defined consumer functions (for incoming data) is added.
A simple ftp URL scheme is implemented. This scheme replaces (partially) the old Ftp::Request class.
UTF-8 path name encoding support is added.
Optional Connect/Login() methods pair added. It is now possible to execute commands before login.
Ftp::DirEntry now uses pcre to parse listing strings.
Logging is improved.
Reference examples are added to the package.
Reference examples provided with the package:
- FtpGet: Demonstrates a basic FTP file download in blocking mode.
- FtpGetNB: Demonstrates a basic FTP file download in non-blocking mode.
- FtpGetMT: Demonstrates a basic Ftp file download, using worker threads.
- FtpMultiGetMT: Demonstrates FTP dir listing and concurrent file transfers, using worker threads.
- FtpGUI: Demonstrates a basic FTP browser with GUI (with upload, download, mkdir, rename, delete commands).
- FtpOverTLS: Demonstrates the secure connection capability of FTP package in blocking mode.
- FtpQueryFeatures: Demonstrates the feature query mechanism, as defined in RFC 2389
- FtpRawCommand: Demonstrates FTP raw command execution in blocking mode.
As usual, the updated package can be found in the first message of this topic.
And you can also grab it from:
Latest code is located at: https://github.com/ismail-yilmaz/upp-components/tree/master/ Core/FTP
Reference examples can be found at: https://github.com/ismail-yilmaz/upp-components/tree/master/ Examples
Older version (1.2) can be found at: https://github.com/ismail-yilmaz/upp-components/tree/master/ Attic/FTP
A screenshot of the simple FtpGUI example (GUI is inspired by the qt's example):

Suggestions, bug reports, patches, etc. are appreciated.
Best regards,
Oblivion
-
Attachment: FtpGUI.png
(Size: 138.14KB, Downloaded 457 times)
Github page: https://github.com/ismail-yilmaz
upp-components: https://github.com/ismail-yilmaz/upp-components
[Updated on: Mon, 02 April 2018 13:38] Report message to a moderator
|
|
|
 |
|
FTP class and reference example for U++
By: Oblivion on Sun, 27 April 2014 18:11
|
 |
|
Re: FTP class and reference example for U++
|
 |
|
Re: FTP class and reference example for U++
|
 |
|
Re: FTP class and reference example for U++
|
 |
|
Re: FTP class and reference example for U++
By: mirek on Wed, 14 May 2014 09:25
|
 |
|
Re: FTP class and reference example for U++
|
 |
|
Re: FTP class and reference example for U++
By: Oblivion on Wed, 12 April 2017 22:34
|
 |
|
Re: FTP class and reference example for U++
By: Klugier on Wed, 12 April 2017 23:05
|
 |
|
Re: FTP class and reference example for U++
By: Oblivion on Thu, 13 April 2017 08:17
|
 |
|
Re: FTP class and reference example for U++
|
 |
|
Re: FTP class and reference example for U++
By: Oblivion on Thu, 13 April 2017 13:55
|
 |
|
Re: FTP class and reference example for U++
By: Oblivion on Fri, 14 April 2017 23:45
|
 |
|
Re: FTP class and reference example for U++
By: Klugier on Sat, 15 April 2017 19:23
|
 |
|
Re: FTP class and reference example for U++
By: Klugier on Sat, 15 April 2017 19:38
|
 |
|
Re: FTP class and reference example for U++
By: Oblivion on Sun, 16 April 2017 18:28
|
 |
|
Re: FTP class and reference example for U++
By: Oblivion on Wed, 24 December 2014 12:06
|
 |
|
Re: FTP class and reference example for U++
By: Oblivion on Thu, 25 December 2014 18:03
|
 |
|
Re: FTP class and reference example for U++
By: Oblivion on Wed, 07 January 2015 20:52
|
 |
|
Re: FTP class and reference example for U++
By: Oblivion on Tue, 20 January 2015 01:17
|
 |
|
Re: FTP class and reference example for U++
By: unodgs on Tue, 07 July 2015 19:40
|
 |
|
Re: FTP class and reference example for U++
|
 |
|
Re: FTP class and reference example for U++
By: unodgs on Wed, 08 July 2015 10:20
|
 |
|
Re: FTP class and reference example for U++
By: Oblivion on Sat, 18 March 2017 23:28
|
 |
|
Re: FTP class and reference example for U++
By: Oblivion on Sun, 09 April 2017 02:32
|
 |
|
Re: FTP class and reference example for U++
By: Oblivion on Sun, 23 April 2017 23:41
|
 |
|
Re: FTP class and reference example for U++
By: Oblivion on Mon, 24 April 2017 19:01
|
 |
|
Re: FTP class and reference example for U++
By: Klugier on Mon, 24 April 2017 22:12
|
 |
|
Re: FTP class and reference example for U++
By: Oblivion on Tue, 25 April 2017 08:37
|
 |
|
Re: FTP class and reference example for U++
|
 |
|
Re: FTP class and reference example for U++
By: Tom1 on Fri, 16 June 2017 10:23
|
 |
|
Re: FTP class and reference example for U++
|
 |
|
Re: FTP class and reference example for U++
By: Oblivion on Mon, 02 April 2018 00:17
|
Goto Forum:
Current Time: Thu Dec 07 17:49:16 CET 2023
Total time taken to generate the page: 0.00893 seconds
|
|
|