立TCP连接,在控制连接上发送FTP命令,首先获得本地和远程系统的目录列表并显示,可以进行目录切换等操作,指定上、下载的文件建立数据连接进行文件传送。
步骤3 编译和执行程序
将FTP客户程序编译、连接成执行程序,运行FTP客户程序。填写校园网的FTP服务器IP和用户、口令信息,进行各种FTP操作(文件上载、下载)。5.具体实现
(1)数据结构分析
定义FileItem结构来保存文件信息
typedef struct FileItem
{
int nItem; // 在列表框中的索引
BOOL bDir; // 判断是否为文件夹
CString strFileName; // 文件名
}FILEITEM;
主对话框类完成FTP的大部分功能
其中:
ID_control成员变量:
CListCtrl m_ctrlRemoteFiles; // IDC_LIST_REMOTE 映射的列表型变量
CListCtrl m_ctrlLocalFiles; // IDC_LIST_LOCAL 映射的列表型变量CString m_strPassword; // IDC_PASSWORD 映射的CString型变量CString m_strServer; // IDC_SERVER 映射的CString型变量CString m_strUserName; // IDC_USER 映射的CString型变量
其他添加功能所需成员变量:
CInternetSession* m_pInetSession; // 会话对象
CFtpConnection* m_pFtpConnection; // 连接对象
CFtpFileFind* m_pRemoteFinder; // 远程查找文件对象