zoukankan      html  css  js  c++  java
  • 协议生成器工具

    前言

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

    结语

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

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

  • 相关阅读:
    tomcat7:deploy (default-cli) on project myproject: Cannot invoke Tomcat manager: Software caused connection abort: socket write error
    android 更新版本案例
    Tomcat运行一段时间后,自动停止关闭,To prevent a memory leak,Druid 数据库连接自动关闭, the JDBC Driver has been forcibly unregistered.
    android调试debug快捷键
    android AlertDialog控件使用
    android RecyclerView的瀑布流布局案例
    android RecyclerView的Grid布局案例
    android RecyclerView的Linear布局案例
    android 子线程使用handle修改主线线程内容
    【CF840C】On the Bench DP
  • 原文地址:https://www.cnblogs.com/cgw0827/p/13143914.html
Copyright © 2011-2022 走看看