首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 数据库 第二书店 程序员

lschou520/ 


共132个网摘 [ 1  2  3  4  5 ]  下一页  |  访问lschou520的个人空间

企业级服务器设计与实现经验之插件系统--功能插件 - zhuweisky的专栏 - CSDNBlog

lschou520收录,使用标签:插件,时间:2008-8-28 17:21:29 | 相关网摘我也收藏

在描述功能插件的外貌之前,先有必要了解这个被功能插件处理的数据流,这个数据流可能基于某种流协议格式,也可以是被序列化的请求对象。所谓“基于格式的流协议”是这样一种消息协议,它定义了数据流的固定偏移处接下来的几个字节的含义,比如规定数据流从偏移为4的地方是一个整数,该整数表示本消息的长度。如果采用基于协议格式的流,则功能插件必须首先能解析此数据流;如果采用的是序列化的流,则只要反序列化该流即可(序列化一般也可以采用两种方式--二进制序列化或XML序列化)。可以这么认为,序列化流是协议格式流的一种特例。

什么情况下需要使用什么样的数据流来传递消息了?一般,如果通信的双方(通常是服务器端和客户端)是同构平台,则可以很方便的使用二进制序列化的方式,因为这种方式避免了基于字节解析的繁琐。当都在.net或java平台时,由于类库本身就提供了序列化和反序列化组件,所以使用序列化的方式特别方便。如果是异构平台,可能就要使用基于格式的流协议或者使用XML的序列化方式。一般低级语言(如C,C++)和大多数高级语言(如C#)都能基于字节进行操作。有很多这样的情况,服务器平台是.net或java平台,而终端是嵌入式设备,如手机、PDA,终端通常使用C或C++语言,这样的异构平台之间可能就需要使用基于格式的流协议。对于C/C++来说,解析格式流的效率是很高的,而使用JAVA或C#就要吃力些,但终究可以保证双方的正常通信。



共132个网摘 [ 1  2  3  4  5 ]  下一页

lschou520/相关标签



网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
Copyright © 2000-2008, CSDN.NET, All Rights Reserved