Internet/Intranet是一项飞速发展的技术,特别是现在,随着环球网(WWW——World Wide Web)的推广,Internet/Intranet已经成为了当前最热门的话题之一。用户开发的程序或许就需要支持Internet访问,本章就来介绍MFC中与Internet有关的一些内容。
Microsoft提供了大量的API函数以支持用户开发Internet服务器或者客户端应用程序。客户端的应用程序需要提供访问Internet的能力,而服务器端的应用程序需要支持HTTP、FTP或Gopher等类型的服务。
就个人计算机用户而言,更重要的是客户端的应用程序。因此在本章中主要介绍客户端应用程序的实现,如果需要了解如何开发服务器端应用程序,请参考有关专著,或者直接从VC6.0的联机帮助中获取信息。
直接使用API函数开发Internet程序是令人烦恼的,MFC对其中的一部分进行了封装。使用MFC进行开发还可以进一步分为几种类型:
■ 使用Windows插口:Winsock标准定义了一个DLL接口,MFC使用CAsyncSocket和CSocket类对插口进行了封装。即使是使用MFC提供的类,直接通过插口实现Internet访问也是困难的。
■ 使用消息收发API(MAPI——Message API):使用MAPI可以方便地向其他应用程序发送电子邮件、语音邮件或者传真。AppWizard为应用程序获得MAPI支持提供了捷径,用户只需要在AppWizard的第四步中选中“Message API”选项即可。
■ 使用WinInet类:MFC建立了许多新的类免除用户学习插口编程之苦,这些新的WinInet类能够帮助用户建立客户端的应用程序。WinInet类支持HTTP、FTP和Gopher等标准的协议。
■ 使用ISAPI类(ISAPI——Internet Server API):ISAPI类帮助用户扩展HTTP服务器的功能。ISAPI可以用来创建Internet服务器扩展器和过滤器。用户可以通过使用ISAPI Extension Wizard建立扩展器或者过滤器的框架。
本章中主要介绍如何使用MFC提供的WinInet类完成客户端的应用程序。
使用WinInet类使得用户可以在相当高级的层次上实现对Internet的访问,根本不需要考虑有关插口和协议的详细内容,MFC包办了大部分的工作。
WinInet类只是一个总称,包括大约10个具体的类。其中最重要的是CInternetSession类,该类用来建立与某个Internet服务器的会话。只有首先建立起与其他服务器的会话,才能够进行下一步的操作。
其次是CInternetConnection类及其派生类CHttpConnection、CFtpConnection和