lschou520/
共132个网摘 [
1 2 3 4 5 ]
下一页 |
访问lschou520的个人空间
lschou520收录,使用标签:插件,时间:2008-8-28 17:21:29 | 相关网摘,我也收藏
在描述功能插件的外貌之前,先有必要了解这个被功能插件处理的数据流,这个数据流可能基于某种流协议格式,也可以是被序列化的请求对象。所谓“基于格式的流协议”是这样一种消息协议,它定义了数据流的固定偏移处接下来的几个字节的含义,比如规定数据流从偏移为4的地方是一个整数,该整数表示本消息的长度。如果采用基于协议格式的流,则功能插件必须首先能解析此数据流;如果采用的是序列化的流,则只要反序列化该流即可(序列化一般也可以采用两种方式--二进制序列化或XML序列化)。可以这么认为,序列化流是协议格式流的一种特例。
什么情况下需要使用什么样的数据流来传递消息了?一般,如果通信的双方(通常是服务器端和客户端)是同构平台,则可以很方便的使用二进制序列化的方式,因为这种方式避免了基于字节解析的繁琐。当都在.net或java平台时,由于类库本身就提供了序列化和反序列化组件,所以使用序列化的方式特别方便。如果是异构平台,可能就要使用基于格式的流协议或者使用XML的序列化方式。一般低级语言(如C,C++)和大多数高级语言(如C#)都能基于字节进行操作。有很多这样的情况,服务器平台是.net或java平台,而终端是嵌入式设备,如手机、PDA,终端通常使用C或C++语言,这样的异构平台之间可能就需要使用基于格式的流协议。对于C/C++来说,解析格式流的效率是很高的,而使用JAVA或C#就要吃力些,但终究可以保证双方的正常通信。
http://blog.csdn.net/zhuweisky/archive/2005/08/06/447070.aspx
共132个网摘 [
1 2 3 4 5 ]
下一页