协议生成器工具

前言

何为协议生成器?其实就是前后端同学在对协议的时候使用的工具,手动添加对应的内容,最后一键发布自己需要的任何与协议有关的内容。 有人会说,我直接写proto文件用它的命令行也可以生成很多文件的。不过proto本身的能力,我工具都可以使用,因为本身工具就可以调用proto。下面开始介绍一下这款附带源码的工具 良心价格,买来不一定要用,但是你可以拿来学习这种思想;用什么语言开并不重要,重要的还是思想;编程编的就是思想,就跟写文章一样。

介绍

  1. 文件功能
  2. 定义服务 可能我门一款游戏用到好几个服务,比如登陆服务,大厅获得道具服务,战斗服务。对于棋牌游戏或者联网对战游戏尤其如此。而这些服务器有的是长连接,有的是短链接,有的是proto格式,有的是json格式。在这个工具里都是可以设置的。
  3. 定义协议号 我们用socket做游戏的一般定义格式的时候都是协议号+数据长度+数据段。这个很正常,当然http也是可以这样定义的。比如http://xxx.xxx.com:80/classname/functionname?xxx=cc&xx=xx ip+端口,这个跟socket是一样的。端口之后和问号之前的就可以定义为协议号了,也就是资源路径。这样就可以长短链接使用同样的处理方式。
  4. 定义模块 我个人喜欢将不同的功能分为不同的模块。然后在模块中定义消息。
  5. 定义消息格式 比如这个商店模块,在进入商店时需要给服务器发送获取商品列表的消息。而服务器需要两个字段。并设置了类型。而工具是支持注释的,CNName就是了。有请求格式,自然也有返回格式,所以有GetProductInfoResult,并定义了返回的消息格式。
  6. 使用 xxxHandler代表了一个请求处理。一个处理会有请求消息,响应消息。所以将刚才定义的两个消息格式,设置到request和response中就可以了。

    导出

xml目录为项目配置文件,export为导出内容目录

导出的文档

导出proto的java类

使用lua脚本解析xml文件

结语

工具介绍就这些,希望对有需求的人提供一定的帮助。关键还是思想,结合我微店里的网络框架一起学习会更快速。 欢迎关注我的公众号,获取更多精彩内容。

欢迎扫码关注公众号《微笑游戏》,浏览更多内容。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 协议生成器协议解析器的设计需要根据具体的协议类型和协议格式来确定。一般来说,协议生成器需要根据协议规范和数据结构,将数据转换成符合协议格式的二进制数据。而协议解析器则需要根据协议规范和数据结构,将接收到的二进制数据解析成对应的数据类型。在设计过程中,需要考虑协议的可扩展性、可靠性、安全性等因素。具体的实现方式可以使用编程语言提供的相关库或者自行实现。 ### 回答2: 协议生成器协议解析器是计算机网络中常用的工具,用于生成和解析通信协议协议生成器能够通过预定义协议规范,自动生成符合规范的协议报文;而协议解析器则能够将接收到的协议报文解析为可读的数据。 设计协议生成器协议解析器时,通常可以按照以下步骤进行: 步骤一:确定协议规范。首先需要明确所要生成或解析的协议的规范,包括协议报文的结构、字段类型、长度等。可以通过查阅相关文档或研究已有的协议实现来确定规范。 步骤二:设计协议模板。根据协议规范,设计协议生成器和解析器的数据模板。协议生成器的模板将包含规范中定义的字段和对应的取值,而协议解析器的模板应能够逐层解析协议报文。 步骤三:实现生成器和解析器。根据设计的模板,编写相应的代码实现协议生成器和解析器。生成器需要根据模板生成符合规范的协议报文,而解析器则需要按照模板对接收到的数据进行解析。 步骤四:测试和调试。对设计的生成器和解析器进行测试,并进行调试以确保其功能和性能满足需求。可以使用模拟的测试数据或实际的网络数据进行测试,对生成和解析的结果进行验证。 步骤五:优化和扩展。根据实际需求和性能要求,对生成器和解析器进行优化,例如利用缓存、并发处理等技术提高性能。在需要扩展支持新的协议规范时,可以对模板进行扩展或增加新的模板。 设计协议生成器和解析器需要对计算机网络和协议有一定的了解,同时也需要熟悉编程语言和相关的网络编程技术。在设计过程中,还需要注重功能的完整性、效率和可扩展性,以满足不同场景下的应用需求。 ### 回答3: 协议生成器协议解析器是用于在计算机通信中实现不同系统间的数据传输协议工具协议生成器的设计主要有以下几个步骤: 1. 确定协议的需求:根据通信系统的要求,确定所需支持的数据传输格式和协议规范。 2. 设计协议生成逻辑:根据协议规范,确定如何生成符合该协议的数据包。这包括首部字段的定义、数据格式的封装和加密等。 3. 实现生成逻辑:根据设计的逻辑,编写代码实现协议生成器。这可以使用编程语言和相关的库/框架来完成。 4. 进行测试:对生成的数据包进行测试,确保生成器能够按照预期生成协议要求的数据包。测试主要包括验证数据格式、数据完整性、加密解密等。 协议解析器的设计步骤如下: 1. 确定协议的需求:与生成器类似,根据通信系统的要求,确定所需支持的数据传输格式和协议规范。 2. 设计协议解析逻辑:根据协议规范,确定如何解析接收到的数据包。这包括对首部字段的解析、数据格式的解封装和解密等。 3. 实现解析逻辑:根据设计的逻辑,编写代码实现协议解析器。同样可以选择合适的编程语言和相关的库/框架来完成。 4. 进行测试:对解析器进行测试,确保解析器能够正确解析收到的数据包,提取所需的信息并进行必要的处理。测试主要包括验证数据格式、数据完整性、解密及错误处理等。 协议生成器和解析器是互补的工具生成器负责将数据按照协议规范打包,解析器则负责将接收到的数据包按照协议规范解析。在通信系统中,这两者经常作为一个整体进行设计和开发,以确保通信的可靠性和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值