串行化的原理很简单,它得到一个对象,并且将它分拆成字节流。字节流可以在网络间复制,然后可在另一端组合起来。
我们首先要解决的是通过com接口来传送大量数据流的方法。有几种com的数据类型可以做到这一点。如你使用一个自定义的接口,你可以使用一个普通的指针类型。使用自定义接口的问题是,需要产生一个proxy/stub dll来在加工和分拆之间配置数据。
我更趋向于使用一个双重接口来解决这个问题,它也被称为分派或者"自动控制"接口。双重接口不但支持idispatch的方法,也支持客户的接口。如何使用一个双重的接口呢?你可以使用类库来做所有的数据配置工作,这很方便,而且令程序的安装和管理得到简化。这样你无需要建立和安装proxy/stub dll。你只需要传送类库就行了。
双重接口只支持有限的数据类型,其中最适合我们使用的是safearray。这个数组可以包含一些相当复杂的多维数组,不过我们只需要使用一个简单的数组。你可以直接传送safearray,或者将它封装到一个variant中。
随后我将会简要地讨论以下使用safearray和variant。
也许你可能知道串行化怎么回事,不过下文我还是要说明一下如何使用这个方法来传送一个对象,如果你对这方面很清楚,你可以直接跳到使用carchive那部分。
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 注册表 操作系统 服务器 应用服务器