Overview
Ultimate FTP is a 100%-managed .NET CF class library that adds powerful
and comprehensive File Transfer capabilities to your .NET CF Windows Mobile applications.
If you need Ultimate FTP for .NET Framework, visit
Ultimate FTP for .NET Framework.

| Standard License Without Source Code | Premium License With Source Code |
1 Developer 1 Year Subscription | $349 | $649 |
1 Developer Life-time Subscription | $699 | $1,299 |
Company 1 Year Subscription | $1,499 | $2,799 |
Company Life-time Subscription | $2,999 | $5,599 |
Subscription:
1 Year: Provides updates, new products and access to priority support for one year
Life-time: Provides updates, new products and access to priority support for life-time
from $349
The Ultimate FTP Component for .NET CF offers a comprehensive interface
for FTP, enabling you to quickly and easily incorporate Standard File Transfers, Secure File Transfers over TLS/SSL, and advanced remote file management in your applications.
In addition to downloading and uploading by file name, URL, and
wild card masks, the FTP library also supports remote file management functionality
such as directory listings and the ability to rename, delete
and move files on the server. The component also offers the flexibility,
ease of use and rapid development features of a component without the complexities
of working with the native socket class or in-depth knowledge of how the File Transfer
Protocols are implemented. In most cases, only a few lines of code are required
to implement a file transfer in your application. The set of properties and methods
is sufficiently rich to enable you to take advantage of features such as the resumption
of interrupted transfers, passive mode operation in the presence of firewalls,
automatic file verification and support for custom server commands.
In addition to supporting basic and advanced remote file tasks, the Ultimate FTP Component also supports multi-thread file transfers as well as data compression on-the-fly with built-in Zlib classes to speed up the transfers.
To save your effort writing a number of classes for different file systems such as FTP, SFTP, ZIP, Local Disk, and Virtual Disk,
we introduce the Unified File System that makes the file management on these systems seamless. The Unified File System allows you
to use the same code to transfer files and directories directly between two different file systems. As a benefit, you may need to write only one class that works with all file systems. Such complicated work is done by the Ultimate File System and there is no need to learn more about other File Transfer Protocols. For more information, please
visit this topic.
To help you become familiar with the features of the component, a number of well documented samples and topics were added to the comprehensive integrated online documentation which can be found at this web page.
If you need SSH Secure FTP (SFTP) Component for .NET CF, please visit SSH Secure FTP (SFTP) .NET CF Library page.
The component is also included in the following suites which are bundles that include many additional .NET CF components:
Key Features
- Upload, download, append, rename and delete file.
- Upload, download, or Remove entire directory (including subdirectories and files) quickly with a single line of code
- Upload and download multiple files using wildcards mask with a single line of code
- Support for files over 4GB
- Parse listings automatically
- Supports both ASCII and binary transfers
- Supports restarting interrupted file transfers
- Abort operations smoothly
- Synchronizes folders easily
- Supports Multi-threading. You can use as many threads as you want to speed up file transfers
- Unified Remote File System allows you to directly and easily transfer and synchronize files and directories between two different file systems such as FTP, SCP, ZIP, Disk, Memory, etc.
- File transfer monitoring support with progress event
- Fully supports both event-driven (asynchronous) and blocking (synchronous) application designs
- Send and receive files to or from disk or memory streams. This allows you to compress and decompress ZIP files on-the-fly
- Built-in Zlib streams
- Filter files on name with wildcards mask or regular expression, size, or last modified date
- Resume previously interrupted file
- Allows you to check the exact transferring state like uploading, downloading, etc.
- Compliant with RFC 959, RFC 1579 and many common extensions
- Progress event argument contains full information about the file transfer such as:
File size, transfer percentage, transfer speed, time left, etc.
- Compression support (MODE Z)
- Reusable block mode transfer support (MODE B)
- Raw FTP command and response support
- more...
Sample Usage - Transferring files and directories
// Create a new instance of the Ftp class.
Ftp client = new Ftp();
// Connect to the FTP server.
client.Connect("myserver");
// Authenticate.
client.Authenticate("user", "pass");
// Upload local file '\test.dat' to the default remote directory.
client.UploadFile("\\test.dat", "test.dat");
string defaultDir = client.GetCurrentDirectory();
Console.WriteLine(string.Format("File has been uploaded to '{0}'.", defaultDir));
// Upload .cs and .vb files to the current directory.
client.UploadFiles("\\temp\\*.cs;*.vb", "");
// Download .mp3, .wav and .jpg files from '/mydir' directory to '\temp'.
client.DownloadFiles("/mydir/*.mp3,*.wav,*.jpg", "\\temp");
// Upload an entire directory.
client.UploadDirectory("\\temp", "/");
// Download an entire directory.
client.DownloadDirectory("myremotedir", "\\temp");
// Disconnect.
client.Disconnect();
' Create a new instance of the Ftp class.
Dim client As New Ftp()
' Connect to the FTP server.
client.Connect("myserver")
' Authenticate.
client.Authenticate("user", "pass")
' Upload local file '\test.dat' to the default remote directory.
client.UploadFile("\test.dat", "test.dat")
Dim defaultDir As String = client.GetCurrentDirectory()
Console.WriteLine(String.Format("File has been uploaded to '{0}'.", defaultDir))
' Upload .cs and .vb files to the current directory.
client.UploadFiles("\temp\*.cs;*.vb", "")
' Download .mp3, .wav and .jpg files from '/mydir' directory to '\temp'.
client.DownloadFiles("/mydir/*.mp3,*.wav,*.jpg", "\temp")
' Upload an entire directory.
client.UploadDirectory("\temp", "/")
' Download an entire directory.
client.DownloadDirectory("myremotedir", "\temp")
' Disconnect.
client.Disconnect()
Security and Reliability
The Ultimate FTP Component for .NET CF Framework also supports secure SSL and TLS connections.
By simply setting a few properties, a secure connection using 128-bit encryption can be established,
providing your application with the greatest flexibility and highest level of security available.
Even advanced options such as client certificates are seamlessly supported.
The security features are completely integrated into the component itself,
meaning that there's no external dependencies on third-party components or libraries.
Supports HTTP Connect, SOCKS4, SOCKS4A & SOCKS5 Proxy Servers
Ultimate FTP fully supports HTTP CONNECT, SOCKS4,
SOCKS4A, and SOCKS5 proxy servers. By simply setting a few properties, you are able to
download and upload files and directories from/to FTP servers through the desired proxy
server.
Support for IPv6, the next generation Internet protocol
IPv6 (Internet Protocol version 6), the next-generation protocol designed by the
IETF (Internet Engineering Task Force), will gradually replace the current version
of the Internet Protocol, IPv4.
With Ultimate FTP Component, users have an integrated service assurance solution
that provides them with FTP, and Proxy capabilities in mixed IPv4 and IPv6
environments. This helps organizations with the adoption of and the transition to
IPv6 by making the management of such networks seamless.
.NET CF Technology
By using 100% managed code written in C#, the Ultimate FTP component takes
advantage of the numerous built-in features of the .NET CF Framework to enhance performance,
moreover, the component is CLS compliant, and it does not use any unsafe blocks
for minimal permission requirements.
Supports event-driven (Asynchronous) and blocking (Synchronous) Design
Most applications written with the component will be synchronous. Synchronous
method gives you the ease-of-use, but it can only returns the control back to the
caller after it has finished, meaning that it blocks the execution of the caller
for a period of time. Using synchronous method is recommended when you only need
to execute one FTP operation at a time.
You might decide that your design requires an asynchronous operation when it is
needed to manage remote files simultaneously. Asynchronous methods provide a great
deal of power. Asynchronous method is executed on a thread separate from the calling
thread. Such operation is useful when an FTP operation is time consuming and other
codes need to execute without waiting for the initial operation to complete. In
addition, the user interface will be most responsive when asynchronous methods are
used.
Flexibility
The component can be used with a wide variety of programming languages and different types of development
environments. As it was written in 100% managed Visual C#, it is fully supported by languages
such as Visual Basic, Visual C#, J#, Managed C++, Borland
C# Builder, and Delphi.
Fully Documented
We know that no product can be complete without comprehensive documentation. This is why the product includes a
Developer's Guide and a complete Technical Reference
which documents every property, method and event supported by the component. A context-sensitive
online help is included with the product which can be accessed directly from within the development environment.
Lots of complete FTP client samples in C# and VB.NET
In addition to the fully documented Developer's Guide and a complete Technical Reference,
Ultimate FTP component also includes a number of samples with full source code
which help you become familiar with the features of the component and provide
code which you can re-use in your own applications.
The setup package contains a complete Windows Mobile FTP client application and some other FTP samples.
Royalty-free and Unlimited Server Deployment
All ATP products include royalty-free distributation, for unlimited site deployment.
It means applications built using the Ultimate FTP component can be redistributed to as many end-users as needed
without additional royalties or runtime licensing fees.