ftp服务器 服务器 internet session server
表二)典型的 FTP 客户端程序实现的一般步骤
目的 | 方法 | 结果 |
开始一个FTP会话,建立一个FTP连接 | 创建一个CInternetSession对象,调用CInternetSession::GetFtpConnection | 初始化WinInet 并联接服务器 |
连接到一个FTP Server | 用CInternetSession::GetFtpConnection | 返回一个CFtpConnection对象 |
CD到 FTP 服务器的一个新目录 | 用CFtpConnection::SetCurrentDirectory | CD到FTP服务器的一个 新目录 |
Find 第一个FTP目录中的文件 | 创建一个CFtpFileFind对象,调用CFtpFileFind::FindFile,OpenURL函数返回一个只读资源对象;调用CFtpFileFind::FindFile | Find第一个文件,如果文件每找到返回FALSE |
枚举所有可获得的资源,Find下一个FTP目录中的文件 | Find下一个资源,调用CFtpFileFind::FindNextFile直到返回FALSE。 | Find下一个文件 如果文件没找到返回FALSE |
打开FindFile或FindNextFile找到的文件(用于读写) | 调用CFtpConnection::OpenFile,参数为FindFile或FindNextFile返回的文件名 ,创建并打开一个CInternetFile对象 | 打开FindFile或FindNextFile找到的文件(用于读写),返回一个CInternetFile对象 |
读写文件 | 以读方式打开FTP文件,用CInternetFile::Read | 使用你指定的缓冲读 指定的字节数 |
写FTP文件 | 以写方式打开FTP文件,调用CInternetFile::Write,重写CInternetSession::OnStatusCallback | 使用你指定的缓冲写 指定的字节数 |
改变客户端在服务器上的目录 | 调用CFtpConnection::SetCurrentDirectory | 进入新的目录 |
获取客户端在服务器上的当前目录 | 调用CFtpConnection::GetCurrentDirectory | 获取目录信息 |
异常处理 | 用CInternetException类 | 处理所有普通的Internet异常类型 |
结束FTP session | 处理CInternetSession对象 | 自动清除打开的句柄的连接 |