VC编程-实现FTP功能.pdf





《VC编程-实现FTP功能.pdf》由会员分享,可在线阅读,更多相关《VC编程-实现FTP功能.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 收集整理 收集整理要联接到 FTP 服务器,需要两个步骤,首先必须创建一个 CInternetSession 对象,用类 CInterSession创建并初始化一个或几个同时存在的 Internet 会话(session),并描述与代理服务器的连接(如果有必要的话),如果在程序运行期间需要保持与 Internet 的连接,可以创建一个 CInternetSession 对象作为类CWinApp 的成员。-MFC 中的类 CFtpConnection 管理我们与 Internet 服务器的连接,并直接操作服务器上的目录和文件,FTP 是 MFC 的 WinInet 支持的三个 Internet
2、 功能之一,我们需要先创建一个 CInternetSession 实例和一个 CFtpConnection 对象就可以实现和一个 FTP 服务器的通信,我们不需要直接创建CFtpConnection 对象,而是通过调用 CInternetSession:GetFtpConnection 来完成这项工作。它创建CFtpConnection 对象并返回一个指向该对象的指针。Ftp 连接类的信息-下面我们简要介绍连接类的信息1.CInternetSession 对象-CInternetSession(LPCTSTRpstrAgent,DWORDdwConText,DWORDdwAccessType,
3、LPCTSTRpstrProxyName,LPCTSTR pstrProxyBypass,DWORD dwFlags);-在创建 CInternetSession 对象时调用这个成员函数,CInternetSession 是应用程序第一个要调用的Internet 函数,它将创始化内部数据结构,以备将来在应用程序中调用。如果 dwFlags 包含INTERNET_FLAG_ASYNC,那末从这个句柄派生的所有的句柄,在状态回调例程注冊之前,都会出现异 步 状 态。如 果 沒 有 打 开 Internet 连 接,CInternetSession 就 会 抛 出 一 个 例 外,AfxThorow
4、InternetException。2.GetFtpConnection()函数-CFtpConnection*CIternetSession:GetFtpConnection(LPCTSTRpstrServer,LPCTSTRpstrUserName,LPCTSTR pstrPassword,INTERNET_PORT nPort,BOOL bPassive);-调用这个函数建立一个 FTP 连接,并获得一个指向 CFtpConnection 对象的指针,GetFtpConnection 连接到一个 FTP 服务器,创建并返回指向 CFtpConnection 对象的指针,它不在服务器上进行
5、任何操作。如果打算读写文件,必须进行分步操作。关于查找,打开和读写文件的信息需参考 CFtpConnection 和 CFtpFileFind 类。-对这个函数的调用返回一个指向 CFtpConnection 对象的指针。如果调用失败,检查抛出的CInternetException 对象,就可以确定失败的原因。3.GetFile()函数-BOOLGetFile(LPCTSTRpstrRemoteFile,LPCTSTRpstrLocalFile,BOOLbFailExists,DWORDdwAttributes,DWORD dwFlags,DWORD dwContext);-调用这个成员函数,
6、可以从 FTP 服务器取得文件,并且把文件保存在本地机器上。GetFile()函数是一个比较高级的例程,它可以处理所有有关从 FTP 服务器读文件,以及把文件存放在本地机器上的工作。如果 dwFlags 为 FILE_TRANSFER_TYPE_ASCII,文件数据的传输也会把控制和格式符转化为 Windows 中的等阶符号。默认的传输模式是二进制模式,文件会以和服务器上相同的格式被下载。-pstrRemoteFile 和 pstrLocalFile 可以是相对于当前目录的部分文件名,也可以是全文件名,在这两个名字中间,都既可以用反斜杠()或者正斜杠(/)来作为文件名的目录分隔符,GetFil
7、e()在使用前会把目录分隔符转化为适当的字符。-可以用自己选择的值来取代 dwContext 默认的值,设置为上下文标识符与 CFtpConnection 对象的定 位 操 作 有 关,这 个 操 作 由 CFtpConnection 中 的 CInternetSession 对 象 创 建。返 回 给CInternetSession:OnStatusCallBack 的值指出了所标识操作的状态。-如果调用成功,函数的返回为非 0,否则返回 0,如果调用失败,可以调用 Win32 函数 GetLastError(),确认出错的原因。 收集整理 收集整理4.PutFile()函数-BOOL Pu
8、tFile(LPCTSTR pstrLocalFile,LPCTSTR pstrRemoveFile,DWORD dwFlags,DWORDdwContext);-调用这个成员函数可以把文件保存到 FTP 服务器。PutFile()函数是一个比较高级的例程,它可以处理有关把文件存放到服务器上的工作。只发送数据,或要严格控制文件传输的应用程序,应该调用OpenFile 和 CInternet:Write。利用自己选择的值来取代 dwContext 默认的值,设置为上下文标识符,上下文标识符是 CInternetSession 对象创建的 CFtpConnection 对象的特定操作有关,这个值返
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC 编程 实现 FTP 功能

限制150内