本文讨论了在为 Internet 编程时要考虑的一些设计问题。
本文中介绍的主题包括:
如果已准备好立即开始编写程序,请参阅 编写 MFC 应用程序。
Intranet 与 Internet
许多应用程序在 Internet 上运行,并且可供具有浏览器和 Internet 访问权限的任何人访问。 企业还实施 Intranet,这些 Intranet 是使用 TCP/IP 协议和 Web 浏览器的公司范围网络。 Intranet 为公司范围内的信息提供易于升级的中央源。 它们可用于升级软件、交付和表格调查、客户支持和信息传递。 下表比较了 Internet 和 Intranet 的功能。
互联网 | 网 |
---|---|
低带宽 | 高带宽 |
降低数据和系统的安全性 | 对数据和系统的受控访问 |
对内容的最小控制 | 高度控制内容 |
客户端或服务器应用程序
应用程序可以在客户端计算机或服务器计算机上运行。 应用程序也可能存储在服务器上,然后通过 Internet 下载并在客户端计算机上运行。 MFC WinInet 类用于客户端应用程序下载文件。 MFC 和异步名字对象类用于下载文件和控件属性。 ActiveX 控件和 Active 文档的类用于客户端应用程序和从服务器下载以在客户端上运行的应用程序。
网页:HTML、活动文档、ActiveX 控件
Microsoft提供了多种方式在网页上提供内容。 网页可以使用标准 HTML 或 HTML 扩展(如对象标记)来提供动态内容,如 ActiveX 控件。
Web 浏览器通常显示 HTML 页面。 活动文档还可以在启用 COM 的浏览器的简单点单击界面中显示应用程序的数据。 活动文档服务器可以使用自己的菜单和工具栏显示整个工作区中的文档、完整框架。
可以从服务器异步下载你编写的 ActiveX 控件,并在网页上显示。 在将信息发送到服务器之前,可以使用脚本语言(如 VBScript)执行客户端验证。
浏览器或 Stand-Alone 应用程序
可以编写嵌入在 HTML 页中的 ActiveX 控件和浏览器中查看的活动文档服务器。 可以编写包含用于提交请求以在 Web 服务器上运行 ISAPI 应用程序的按钮的 HTML 页面。 可以编写一个独立应用程序,该应用程序使用 Internet 协议下载文件并将信息显示给用户,而无需使用浏览器应用程序。
Internet 上的 COM
ActiveX 控件、活动文档和异步名字对象都使用 COM(组件对象模型)技术。
ActiveX 控件为 Internet 网站上的文档和页面提供动态内容。 使用 COM,可以使用 Active 文档生成 ActiveX 控件和完整框架文档。
异步名字对象提供功能,使控件能够在 Internet 环境中表现良好,包括下载数据的增量或渐进方式。 控件还必须与其他可能同时异步检索其数据的其他控件一起使用。
客户端数据下载服务
两组有助于将数据传输到客户端的 API 是 WinInet 和异步名字对象。 如果 HTML 页面上有大型 .gif 和 .avi 文件和 ActiveX 控件,可以通过异步下载或异步使用 WinInet 来增加对用户的响应能力。
Internet 上的常见任务是传输数据。 如果已使用 Active 技术(例如,如果有 ActiveX 控件),则可以使用异步名字对象在下载数据时逐步呈现数据。 可以使用 WinInet 通过常见的 Internet 协议(如 HTTP、FTP 和 gopher)传输数据。 这两种方法都提供协议独立性,并提供使用 WinSock 和 TCP/IP 的抽象层。 你仍然可以直接使用 WinSock 。
下表总结了使用 MFC 通过 Internet 传输数据的几种方法。
使用此协议 | 在这些条件下 | 使用这些类 |
---|---|---|
使用异步名字对象下载 Internet | 使用 COM、ActiveX 控件和任何 Internet 协议进行异步传输。 | CAsyncMonikerFile、 CDataPathProperty |
WinInet | 对于 HTTP、FTP 和 gopher 的 Internet 协议。 数据可以同步或异步传输,并存储在系统范围的缓存中。 | CInternetSession、 CFtpFileFind、 CGopherFileFind 等。 |
WinSock | 实现最大效率和控制。 需要了解套接字和 TCP/IP 协议。 | CSocket、 CAsyncSocket |
另请参阅
MFC 互联网编程任务
MFC Internet 编程基础知识
Win32 Internet 扩展 (WinInet)
Internet 上的异步名字对象