Steps in a Typical FTP Client Application

A typical FTP client application creates a CInternetSession and a CFtpConnection object. Note that these MFC WinInet classes do not actually control the proxy type settings; IIS does.

The following table shows the steps you might perform in a typical FTP client application.

Your goal Actions you take Effects
Begin an FTP session. Create a CInternetSession object. Initializes WinInet and connects to server.
Connect to an FTP server. Use CInternetSession::GetFtpConnection. Returns a CFtpConnection object.
Change to a new FTP directory on the server. Use CFtpConnection::SetCurrentDirectory. Changes the directory you are currently connected to on the server.
Find the first file in the FTP directory. Use CFtpFileFind::FindFile. Finds the first file. Returns FALSE if no files are found.
Find the next file in the FTP directory. Use CFtpFileFind::FindNextFile. Finds the next file. Returns FALSE if the file is not found.
Open the file found by FindFile or FindNextFile for reading or writing. Use CFtpConnection::OpenFile, using the file name returned by FindFile or FindNextFile. Opens the file on the server for reading or writing. Returns a CInternetFile object.
Read from or write to the file. Use CInternetFile::Read or CInternetFile::Write. Reads or writes the specified number of bytes, using a buffer you supply.
Handle exceptions. Use the CInternetException class. Handles all common Internet exception types.
End the FTP session. Dispose of the CInternetSession object. Automatically cleans up open file handles and connections.

See also

Win32 Internet Extensions (WinInet)
Prerequisites for Internet Client Classes
Writing an Internet Client Application Using MFC WinInet Classes