• 协议生成器工具


    前言

    何为协议生成器?其实就是前后端同学在对协议的时候使用的工具,手动添加对应的内容,最后一键发布自己需要的任何与协议有关的内容。
    有人会说,我直接写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文件

    结语

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

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

  • 相关阅读:
    为STARUML写的自动生成文档脚本 分类: 开发工具 2015-07-28 10:27 9人阅读 评论(0) 收藏
    StartUML自动生成代码 分类: 开发工具 2015-07-28 10:26 11人阅读 评论(0) 收藏
    使用无连接的数据报(UDP)进行通信 分类: Java 2015-07-27 20:59 13人阅读 评论(0) 收藏
    在线HTTP POST/GET接口测试工具
    完全卸载Oracle 11g
    Spring自动事物代理
    Spring的事物处理(转)
    如何写出高性能的SQL语句(转)
    JAVA读取xml(转)
    FineReport的使用
  • 原文地址:https://www.cnblogs.com/cgw0827/p/13143914.html
Copyright © 2020-2023  润新知