一种基于LUA的游戏协议解析与热更新方法及系统与流程

文档序号:15847133发布日期:2018-11-07 09:14阅读:440来源:国知局
一种基于LUA的游戏协议解析与热更新方法及系统与流程

本发明涉及计算机应用技术领域,具体涉及一种基于lua的游戏协议解析与热更新方法及系统。



背景技术:

在如今手机游戏越来越多而且游戏功能迭代越来越频繁的情况下,游戏功能协议的开发人员快速解析以及热更新越显得重要。

现在大部分unity手游公司基本使用的脚本语言是c#,当c#脚本写好后,需要让编译器编译出dll可执行文件。然而这个编译的过程只能在pc平台上面完成,在移动平台上面是不行的,每当我们对游戏进行逻辑、ui修改,导致代码结构发生改变时候,开发人员就需要重新编译,再次打包,重更版本,开发人员需要花费大量重复的编码时间完成协议解析,导致开发效率低下。



技术实现要素:

本发明针对现有技术中存在的技术问题,提供一种基于lua的游戏协议解析与热更新方法及系统。

本发明解决上述技术问题的技术方案如下:

一方面,本发明提供一种基于lua的游戏协议解析与热更新方法,包括以下步骤:

步骤1,服务器端生成协议格式文件,并根据客户端请求将所述协议格式文件发送至客户端;

步骤2,客户端的底层协议解析库根据协议格式文件自动将协议数据解析成指定的数据结构,并发送给相应的功能模块直接使用。

进一步,所述步骤1还包括,开发人员每次登陆客户端,均向服务器端发送请求,获取所述协议格式文件。

进一步,所述步骤2还包括所述客户端接收到所述协议格式文件后,首先对所述协议格式文件进行解析并保存。

进一步,所述步骤1还包括服务器端向所述客户端发送需要更新的协议数据。

进一步,所述协议格式文件中包括各功能模块需要的文件格式类型以及需要解析的协议数据的id,所述客户端的底层协议解析库根据协议格式文件自动将指定id的协议数据解析成对应的数据结构。

另一方面,本发明提供一种基于lua的游戏协议解析与热更新系统,包括:客户端和服务器端;

所述客户端包括请求模块和底层协议解析库;所述请求模块用于向所述服务器端发送请求,获取协议格式文件;所述底层协议解析库用于存放不同格式文件的解析代码;

所述服务器端包括请求响应模块、文件生成模块以及发送模块;所述请求响应模块用于根据客户端请求,向所述客户端发送协议格式文件;所述文件生成模块用于生成协议格式文件;所述发送模块用于在需要更新时,向客户端发送需要更新的协议文件。

本发明的有益效果是:服务器端生成一个包含游戏所需要的所有协议结构的协议格式文件,该协议格式文件可以随时修改和更新,不需要服务器和客户端中间的沟通过程,客户端每次登陆,请求获取最新的协议结构,减少沟通成本;客户端的协议解析库能根据协议格式文件自动解析好每个功能模块所需要的数据结构,自动推送给需要的功能模块,开发者不需要自己再手动写代码一个个字段解析协议,拿到直接使用,大大减少了重复解析的时间以及这期间人为误差的产生,也直接实现了协议的热更新,即只需要更新协议配置文件,不会发生任何代码修改,可以随意在线更新大功能和大修改,无需用户更换新包。

附图说明

图1为本发明方法流程图;

图2为本发明系统结构图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

一方面,本发明提供一种基于lua的游戏协议解析与热更新方法,如图1所示,包括以下步骤:

步骤1,服务器端生成协议格式文件,并根据客户端请求将所述协议格式文件发送至客户端;

步骤2,客户端的底层协议解析库根据协议格式文件自动将协议数据解析成指定的数据结构,并发送给相应的功能模块直接使用。

进一步,所述步骤1还包括,开发人员每次登陆客户端,均向服务器端发送请求,获取所述协议格式文件。

进一步,所述步骤2还包括所述客户端接收到所述协议格式文件后,首先对所述协议格式文件进行解析并保存。

进一步,所述步骤1还包括服务器端向所述客户端发送需要更新的协议数据。

进一步,所述协议格式文件中包括各功能模块需要的文件格式类型以及需要解析的协议数据的id,所述客户端的底层协议解析库根据协议格式文件自动将指定id的协议数据解析成对应的数据结构。

另一方面,本发明提供一种基于lua的游戏协议解析与热更新系统,包括:客户端和服务器端;

所述客户端包括请求模块和底层协议解析库;所述请求模块用于向所述服务器端发送请求,获取协议格式文件;所述底层协议解析库用于存放不同格式文件的解析代码;

所述服务器端包括请求响应模块、文件生成模块以及发送模块;所述请求响应模块用于根据客户端请求,向所述客户端发送协议格式文件;所述文件生成模块用于生成协议格式文件;所述发送模块用于在需要更新时,向客户端发送需要更新的协议文件。

本发明的有益效果是:服务器端生成一个包含游戏所需要的所有协议结构的协议格式文件,该协议格式文件可以随时修改和更新,不需要服务器和客户端中间的沟通过程,客户端每次登陆,请求获取最新的协议结构,减少沟通成本;客户端的协议解析库能根据协议格式文件自动解析好每个功能模块所需要的数据结构,自动推送给需要的功能模块,开发者不需要自己再手动写代码一个个字段解析协议,拿到直接使用,大大减少了重复解析的时间以及这期间人为误差的产生,也直接实现了协议的热更新,即只需要更新协议配置文件,不会发生任何代码修改,可以随意在线更新大功能和大修改,无需用户更换新包。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。



技术特征:

技术总结
本发明涉及一种基于LUA的游戏协议解析与热更新方法及系统,其中方法包括:服务器端生成协议格式文件,并根据客户端请求将所述协议格式文件发送至客户端;客户端的底层协议解析库根据协议格式文件自动将协议数据解析成指定的数据结构,并发送给相应的功能模块直接使用。服务器端生成一个包含游戏所需要的所有协议结构的协议格式文件,该协议格式文件可以随时修改和更新,不需要服务器和客户端中间的沟通过程,减少沟通成本;自动解析数据结构,开发者不需要自己再手动写代码一个个字段解析协议,拿到直接使用,大大减少了重复解析的时间以及这期间人为误差的产生,也直接实现了协议的热更新。

技术研发人员:张强;张威;殷国平
受保护的技术使用者:武汉灵动在线科技有限公司
技术研发日:2018.05.04
技术公布日:2018.11.06
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1