理解简单的dcom服务器
以上我们主要讲解了如何通过一个客户应用使用com。对于客户来说,com的编程技巧是相当简单的。客户端的应用向com子系统请求一个特定的组件,服务器端将其传送过来。
实际上,对于后台的组件管理工作,还需要写很多的代码。真正的对象实现需要使用复杂的系统组件和标准的应用模块。就算是使用mfc,也是很复杂的。大多数的专业编程者都不会花时间来研究这个过程。自从com的标准发布以来,很快就令我们明白到让开发者来自己写这些代码是不现实的。
当你查看实现com的真正代码时,你会发现其中大部分都是重复的。对于这类复杂的问题,传统c++的解决之道是创建一个com类库。实际上,mpc ole类提供了大部分的com特性。
不过对于com组件来说,mfc和ole并不是一个好的选择,有几个理由。随着activex和微软inte.net策略的推出,com对象应该要非常的紧凑和快速。activex需要com对象可以经过网络相当快地被复制。如果你使用mfc较多,就会发现它实在太大了(特别是在静态链接时)。通过网络来传送巨大的mfc对象是不现实的。
或许通过mfc/ole方法来实现com组件的最大问题是复杂性。ole编程是复杂的,并且大部分的编程者都不会在上面走得很远。有大量关于ole的书,这都说明它是非常难以掌握的。
由于ole的开发有不少的难度,因此微软创建了一个称为atl(active template library)新工具。对于com编程来说,atl是当前最实用的工具。实际上,如果你对其背后的东西没有兴趣,使用atl向导来编写com服务器是相当简单的。
这里介绍的例子都是通过atl和atl应用向导来创建的。这一节我们将讲解如何建立一个基于atl的服务器,并对向导产生的代码给出了一个摘要。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器