Visual C++ FTP Client Sample Source Code
Network Component provides an easy-to-use development interface to a variety of IP protocols. By using Network Component, you can very easily create or enhance applications with network features.
Network Component features the following: DNS, FTP, HTTP, HTTPs, ICMP Ping, IP-to-Country, MSN, NTP, RSH, SCP, SFTP, SNMP v1/v2c (Get, GetNext, Set), SNMP Traps, SNMP MIB, SSH, TCP, Telnet, TFTP, UDP, Telnet, Wake-On-LAN and more.
Network Component can be well integrated into any development platform that supports ActiveX objects.
This document describes how the Network Component FtpServer object can be integrated into your projects.
The most important functions of the FtpServer object are:
- Connect - connect to the (remote) FTP server on port 21 or any alternate port;
- Disconnect - to diconnect after a connect call;
- GetCurrentDir - retrieve the current directory;
- ChangeDir - change the current directory;
- CreateDir - create a new directory;
- RenameDir - rename a directory;
- DeleteDir - delete a directory;
- FindFile - find a specific file in the current directory;
- FindFirstFile - iterate over all files in the current directory; find the first file;
- FindNextFile - iterate over all files in the current directory; find the next file;
- RenameFile - rename a file in the current directory;
- DeleteFile - delete a file in the current directory;
- GetFile - get (download) a file, either using binary transfer or ASCII transfer;
- PutFile - put (upload) a file, either using binary transfer or ASCII transfer;
Step 1: Create a new Visual C++ project
Launch 'Microsoft Visual C++' from the Start menu, and choose 'New' from the 'File Menu'. The 'New' dialog appears.
Select the type of project (for instance: 'Win32 Console Application'), enter a 'Project name' and select the 'Location':
Select the kind of project, for instance a 'Hello, world!' application and click 'Finish':
Step 2: Refer to the Network Component Library and declare the objects
A new Project is created now.
Before you can use Network Component, you need to refer to the Network Component library. The actually reference files are shipped with the product and are located in the following directory:
C:\Program Files\ActiveXperts\Network Component\Examples\Visual C++\Include
Copy all files in the above directory ('AxNetwork.c', 'AxNetwork_i.c' and 'AxNetworkConstants.h') to your project directory.
Step 3: Create the objects
Since the Network Component is a COM object, you must initialize the COM library before they can call COM library functions (e.g. Network Component functions):
Create the object in the following way:
CoCreateInstance(CLSID_FtpServer,NULL,CLSCTX_INPROC_SERVER, IID_IFtpServer, (void**) &pFtpServer);
Appendix: Full source code
You can download the complete sample on our FTP site ftp.activexperts-lab.com/samples/network-component/. There are many other working Network Component scripts on our site and shipped with the product.
NOTE: Demo Projects are created with Microsoft Visual Studio 2008
The Network Component project ships with a set of Microsoft Visual Studio .NET samples, including samples for Microsoft Visual C# .NET. The projects are created with Microsoft Visual Studio 2008.
Users with a later version of Microsoft Visual Studio can open such a project. The Visual Studio Conversion Wizard will guide you through the process of converting the project to the version used.