Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
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 Go to previous message
Oblivion is currently offline  Oblivion
Messages: 954
Registered: August 2007
Experienced 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. Smile

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):

index.php?t=getfile&id=5535&private=0

Suggestions, bug reports, patches, etc. are appreciated.

Best regards,
Oblivion
  • Attachment: FtpGUI.png
    (Size: 138.14KB, Downloaded 281 times)


[Updated on: Mon, 02 April 2018 13:38]

Report message to a moderator

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Am I doing something wrong, or is there a bug? FIREBIRD
Next Topic: OpenCV and openCV_Demo copiling error
Goto Forum:
  


Current Time: Fri May 27 08:13:25 CEST 2022

Total time taken to generate the page: 0.01986 seconds