博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
EasyProtocol介绍和使用
阅读量:6302 次
发布时间:2019-06-22

本文共 1132 字,大约阅读时间需要 3 分钟。

hot3.png

       EasyProtocol是一种序列化工具,目前提供了java,c#的支持,由于它是一种二进制的格式,比使用json,xml 进行数据交换快许多。当然比起protocolbuffer这种专业的序列化工具,可能在性能,大小上差一点,但是很轻巧,简单,适合互相学习,比较适合一些小型项目。

包结构:

根目录下2个文件夹:
language
tools
1.language:分别对java和c#语言提供支持,提供了依赖的jar包和dll文件2.tools:协议生成工具progen.bat      --执行生成类文件的批处理easyProtocol-tools.jar    --生成类文件需要的jar包,也是唯一的jar包config.xml       --生成类文件的相关配置 。具体配置项可以参考文件的注释progen.xml	 --协议文档汇总文件protocols        --存放我们手动编写的协议
协议格式说明:
由一个xml文件来定义protocol和bean,这个协议文档的格式:
...
...
...
...

整个协议文档由Import和2个Namespace元素组成:

元素 说明       属性介绍
Import
用来导入其他的协议文档,经常是一些公共使用的协议文档
file:导入文件的路径
Namespace
命名空间,包含bean元素和Protocol元素
name:bean和Protocol的命名空间
Bean

定义一个实体bean,方便在Protocol中调用,

可以包含多个variable子元素

name:名称
Protocol
定义一条协议,可以包含多个variable子元素
name:协议名称
type:协议号
maxsize:协议大小
variable
定义一个变量
name:变量名称

type:变量类型

支持的类型:int,byte,boolean,short,
float,double,long,string,map,set,list,vector,array

       备注: 具体可以参考自带的实例protocols文件夹下,分别是一个common.xml公共模块协议文档和module_11_player.xml玩家模块协议文档

github链接:

下载地址:

转载于:https://my.oschina.net/OutOfMemory/blog/399016

你可能感兴趣的文章
第八章 进程间通信
查看>>
HttpSession接口中的方法(Jsp中的session类的用法)
查看>>
「镁客早报」AI可预测心脏病人死亡时间;机器人开始在美国送外卖
查看>>
MoQ(基于.net3.5,c#3.0的mock框架)简单介绍
查看>>
物联网全面升级,十年内推动工业进入智能化新阶段
查看>>
spring-通过ListFactory注入List
查看>>
一种基于SDR实现的被动GSM嗅探
查看>>
阿里云ECS每天一件事D1:配置SSH
查看>>
SQL Server 性能调优(性能基线)
查看>>
uva 10801 - Lift Hopping(最短路Dijkstra)
查看>>
[Java Web]servlet/filter/listener/interceptor区别与联系
查看>>
POJ 2312Battle City(BFS-priority_queue 或者是建图spfa)
查看>>
从零开始学MVC3——创建项目
查看>>
CentOS 7 巨大变动之 firewalld 取代 iptables
查看>>
延时任务和定时任务
查看>>
linux下的权限问题
查看>>
教你如何使用Flutter和原生App混合开发
查看>>
Spring Boot 整合redis
查看>>
CSS hover改变背景图片过渡动画生硬
查看>>
JDBC(三)数据库连接和数据增删改查
查看>>