`
yingyingol
  • 浏览: 745720 次
文章分类
社区版块
存档分类
最新评论

WinInet开发Internet客户端应用

 
阅读更多
一个Internet客户端程序的目的是通过Internet协议如:Gopher, FTP, or HTTP来存取网络数据源(服务器)的信息。一个Internet客户端程序可以访问服务器获得象天气预报,股票价格、重要新闻数据。Internet客户端程序可以通过外部网络(Internet)或内部网络(一般为Intranet)访问服务器。

MFC类库包含 Win32 Internet 扩展接口,也就是WinInet,专门用于Internet客户端程序。MFC将WinInet封装在一个标准的、易于使用的类集合中。在编写WinInet客户端程序时,你既可以直接调用win32函数,也可以使用WinInet类库。

Win32 Internet 扩展提供了对普通Internet协议的访问,这些协议包括:gopher, FTP,和 HTTP,使用WinInet可以编写出高水平的Internet客户端程序,而不必去了解winsock、TCP/IP和特定Internet协议的细节。WinInet为所有三种协议提供了统一的函数集,既Win32 API接口。如果底层协议改变(如从FTP到HTTP),利用统一的函数集,用最少的代码就可以完成改变。
Visual C++ 有两种方式来使用WinInet。一种是直接调用Win32 Internet函数,另一种是使用WinInet类库。

MFC对WinInet的封装,向类库开发人员提供熟悉的上下文。MFC提供三个由CStdioFile派生的类:CInternetFile、 CHttpFile 和 CGopherFile,对使用过CStdioFile类操作和处理本地文件的开发人员来说,这些类不仅使得获取和处理Internet数据驾轻就熟,而且使得处理本地数据和Internet数据的方式一致透明,数据的存储位置已经不重要了。

MFC WinInet 类有如下优点:
缓冲器输入输出--------Buffered I/O
安全的数据处理--------Type-safe handles for your data
众多函数带缺省参数----Default parameters for many functions
普通Internet错误的异常处理--Exception handling for common Internet errors.
自动清除打开的句柄和连接-Automatic cleanup of open handles and connections

MFC 提供了下列的类和全程函数来创建Internet客户端程序。
CInternetSession (父类 CObject)
CInternetConnection (父类 CObject)
CFtpConnection
CGopherConnection
CHttpConnection
CInternetFile(父类 CStdioFile)
CGopherFile
CHttpFile
CFileFind(父类 CObject)
CFtpFileFind
CGopherFileFind
CGopherLocator(父类 CObject)
CInternetException(父类 CException)

全程函数:

AfxParseURL
AfxGetInternetHandleType
AfxThrowInternetException

这些类和全程函数除CFileFind在AFX.H里声明之外,其余都在AFXINET.H文件里声明。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics