6.1.2MFCWinInet所包含的类3.文件类文件类首先包括CInternetFile类和由它派生的CHttpFile类和CGopherFile类,分别封装了FTP文件句柄、HTTP请求句柄Gopher文件句柄。这三个文件类是从MFC的CStdioFile类派生,而CStdioFile类文是从Cfile派生的,继承了Cfile类的特性,使应用程序能像操作本地文件一样操作网络文件。另外,由CFileFind类派生的用于文件查找我的CFtpFileFind类和CGopherFileFind类也应归入文件类的层次。这些是WinInetAPI中用于查询文件的数据结构和函数的封装,利用它们的成员函数可以完成对于FTP或Gopher服务器上文件的查询
3.文件类 文件类首先包括CInternetFile类和由它派生的CHttpFile类和 CGopherFile类, 分别封装了FTP文件句柄、 HTTP 请求句柄、 Gopher文件句柄。 这三个文件类是从MFC的CStdioFile类派生, 而CStdioFile类又是从Cfile派生的,继承了Cfile类的特性,使应 用程序能像操作本地文件一样操作网络文件。 另外,由CFileFind类派生的用于文件查找的CFtpFileFind类和 CGopherFileFind类也应归入文件类的层次。这些是WinInet API中用于查询文件的数据结构和函数的封装,利用它们的成员 函数可以完成对于FTP或Gopher服务器上文件的查询。 6.1.2 MFC WinInet 所包含的类
6.1.2MFCWinInet所包含的类4.CInternetException类CInternetException类代表MFCWinInet类的成员函数在执行时所发生的错误或异常。用户可以通过调用AfxThroeInternetExceptionO函数来产生一个CInternetException类对象。在程序中往往用try/chtch结构来处理错误
4.CInternetException类 CInternetException类代表MFC WinInet类的成员函数在执行 时所发生的错误或异常。 用户可以通过调用AfxThroeInternetException( )函数来产生一 个CInternetException类对象。 在程序中往往用try/chtch结构来处理错误。 6.1.2 MFC WinInet 所包含的类
6.1.2MFCWinlnet所包含的类MFCWinInet类的关系CInternetSession::OpenURLCInternetConnectionCStdioFileCFtpConnection::OpenFileCInternetFile::GetFtpConnection-CHttpConnection:OpenRequestCHttpFile:GetHttpConnection-CGopherConnection::OpenFile-CGopherFile::GetGopherConnectionCFileFindCGopherLocatorCFtpFileFindInternetConnectCGopherFileFind
MFC WinInet 类的关系 6.1.2 MFC WinInet 所包含的类
P1746.1.3使用WinInet类编程的一般步骤面向对象的编程应首先创建所需的类的实例对象,然后调用类的成员函数。应用程序可以从WinInet类派生出自已的类,再把自己的特色代码添加到重载的函数中,来完成特定的任务。(1)创建CInternetSession类对象,创建并初始化Internet会话。(2)利用CInternetSession类的QueryOption或SetOption成员函数,可以查询或设置该类内含的Internet请求选项,这一步是可选。(3)创建连接类对象,建立CInternetSession对象与网络服务器的连接,也就是应用程序与网络服务器的连接
面向对象的编程应首先创建所需的类的实例对象,然后调用类 的成员函数。应用程序可以从WinInet类派生出自己的类,再把 自己的特色代码添加到重载的函数中,来完成特定的任务。 (1)创建CInternetSession类对象,创建并初始化Internet会话。 (2)利用CInternetSession类的QueryOption或SetOption成员函 数,可以查询或设置该类内含的Internet请求选项,这一步是可 选。 (3)创建连接类对象,建立CInternetSession对象与网络服务器 的连接,也就是应用程序与网络服务器的连接。 6.1.3 使用WinInet类编程的一般步骤 P174
6.1.3使用WinInet类编程的一般步骤(4)创建文件检索类对象,对服务器进行检索(5)如果需要使用异步操作模式,可以重载CInternetSession类的OnStatusCallback函数,并启动应用程序使用状态回调机制。重载相关函数,加入自己的代码。(6)如果还想更紧密地控制对于服务器文件的访问,可以进一步创建文件类对象实例,完成文件查找或文件读写操作。(7)创建CInternetException类对象实例,处理错误。(8)关闭各种类,将资源释放给系统
(4)创建文件检索类对象,对服务器进行检索 (5)如果需要使用异步操作模式,可以重载CInternetSession 类的OnStatusCallback函数,并启动应用程序使用状态回调机 制。重载相关函数,加入自己的代码。 (6)如果还想更紧密地控制对于服务器文件的访问,可以进 一步创建文件类对象实例,完成文件查找或文件读写操作。 (7)创建CInternetException类对象实例,处理错误。 (8)关闭各种类,将资源释放给系统。 6.1.3 使用WinInet类编程的一般步骤