CN108769132A - 一种基于lua的游戏协议解析与热更新方法及系统 - Google Patents
一种基于lua的游戏协议解析与热更新方法及系统 Download PDFInfo
- Publication number
- CN108769132A CN108769132A CN201810416978.4A CN201810416978A CN108769132A CN 108769132 A CN108769132 A CN 108769132A CN 201810416978 A CN201810416978 A CN 201810416978A CN 108769132 A CN108769132 A CN 108769132A
- Authority
- CN
- China
- Prior art keywords
- protocol
- client
- format file
- file
- parsing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种基于LUA的游戏协议解析与热更新方法及系统,其中方法包括:服务器端生成协议格式文件,并根据客户端请求将所述协议格式文件发送至客户端;客户端的底层协议解析库根据协议格式文件自动将协议数据解析成指定的数据结构,并发送给相应的功能模块直接使用。服务器端生成一个包含游戏所需要的所有协议结构的协议格式文件,该协议格式文件可以随时修改和更新,不需要服务器和客户端中间的沟通过程,减少沟通成本;自动解析数据结构,开发者不需要自己再手动写代码一个个字段解析协议,拿到直接使用,大大减少了重复解析的时间以及这期间人为误差的产生,也直接实现了协议的热更新。
Description
技术领域
本发明涉及计算机应用技术领域,具体涉及一种基于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的游戏协议解析与热更新系统,包括:客户端和服务器端;
所述客户端包括请求模块和底层协议解析库;所述请求模块用于向所述服务器端发送请求,获取协议格式文件;所述底层协议解析库用于存放不同格式文件的解析代码;
所述服务器端包括请求响应模块、文件生成模块以及发送模块;所述请求响应模块用于根据客户端请求,向所述客户端发送协议格式文件;所述文件生成模块用于生成协议格式文件;所述发送模块用于在需要更新时,向客户端发送需要更新的协议文件。
本发明的有益效果是:服务器端生成一个包含游戏所需要的所有协议结构的协议格式文件,该协议格式文件可以随时修改和更新,不需要服务器和客户端中间的沟通过程,客户端每次登陆,请求获取最新的协议结构,减少沟通成本;客户端的协议解析库能根据协议格式文件自动解析好每个功能模块所需要的数据结构,自动推送给需要的功能模块,开发者不需要自己再手动写代码一个个字段解析协议,拿到直接使用,大大减少了重复解析的时间以及这期间人为误差的产生,也直接实现了协议的热更新,即只需要更新协议配置文件,不会发生任何代码修改,可以随意在线更新大功能和大修改,无需用户更换新包。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于LUA的游戏协议解析与热更新方法,其特征在于,包括以下步骤:
步骤1,服务器端生成协议格式文件,并根据客户端请求将所述协议格式文件发送至客户端;
步骤2,客户端的底层协议解析库根据协议格式文件自动将协议数据解析成指定的数据结构,并发送给相应的功能模块直接使用。
2.根据权利要求1所述一种基于LUA的游戏协议解析与热更新方法,其特征在于,所述步骤1还包括,开发人员每次登陆客户端,均向服务器端发送请求,获取所述协议格式文件。
3.根据权利要求1所述一种基于LUA的游戏协议解析与热更新方法,其特征在于,所述步骤2还包括所述客户端接收到所述协议格式文件后,首先对所述协议格式文件进行解析并保存。
4.根据权利要求1-3任一项所述一种基于LUA的游戏协议解析与热更新方法,其特征在于,所述步骤1还包括服务器端向所述客户端发送需要更新的协议数据。
5.根据权利要求4所述一种基于LUA的游戏协议解析与热更新方法,其特征在于,所述协议格式文件中包括各功能模块需要的文件格式类型以及需要解析的协议数据的ID,所述客户端的底层协议解析库根据协议格式文件自动将指定ID的协议数据解析成对应的数据结构。
6.一种基于LUA的游戏协议解析与热更新系统,其特征在于,包括:客户端和服务器端;
所述客户端包括请求模块和底层协议解析库;所述请求模块用于向所述服务器端发送请求,获取协议格式文件;所述底层协议解析库用于存放不同格式文件的解析代码;
所述服务器端包括请求响应模块、文件生成模块以及发送模块;所述请求响应模块用于根据客户端请求,向所述客户端发送协议格式文件;所述文件生成模块用于生成协议格式文件;所述发送模块用于在需要更新时,向客户端发送需要更新的协议文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810416978.4A CN108769132A (zh) | 2018-05-04 | 2018-05-04 | 一种基于lua的游戏协议解析与热更新方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810416978.4A CN108769132A (zh) | 2018-05-04 | 2018-05-04 | 一种基于lua的游戏协议解析与热更新方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108769132A true CN108769132A (zh) | 2018-11-06 |
Family
ID=64009058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810416978.4A Pending CN108769132A (zh) | 2018-05-04 | 2018-05-04 | 一种基于lua的游戏协议解析与热更新方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108769132A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109413115A (zh) * | 2018-12-29 | 2019-03-01 | 中国银行股份有限公司 | 协议文本解析方法及系统 |
CN111475192A (zh) * | 2020-04-15 | 2020-07-31 | 上海莉莉丝科技股份有限公司 | 对游戏服务器进行热更的方法、装置、存储介质和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070010953A1 (en) * | 2002-08-28 | 2007-01-11 | Applera Corporation | Auto-Analysis Framework for Sequence Evaluation |
CN101035111A (zh) * | 2007-04-13 | 2007-09-12 | 北京启明星辰信息技术有限公司 | 一种智能协议解析方法及装置 |
CN103729189A (zh) * | 2013-12-31 | 2014-04-16 | 福建星网视易信息系统有限公司 | 基于lua的播放协议转换方法、系统、终端 |
CN104363131A (zh) * | 2014-10-14 | 2015-02-18 | 国家电网公司 | 基于有限状态机动态可扩展的电力通信协议异常检测方法 |
CN106878163A (zh) * | 2017-04-13 | 2017-06-20 | 冶金自动化研究设计院 | 一种多数据协议转换的物联网智能网关 |
-
2018
- 2018-05-04 CN CN201810416978.4A patent/CN108769132A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070010953A1 (en) * | 2002-08-28 | 2007-01-11 | Applera Corporation | Auto-Analysis Framework for Sequence Evaluation |
CN101035111A (zh) * | 2007-04-13 | 2007-09-12 | 北京启明星辰信息技术有限公司 | 一种智能协议解析方法及装置 |
CN103729189A (zh) * | 2013-12-31 | 2014-04-16 | 福建星网视易信息系统有限公司 | 基于lua的播放协议转换方法、系统、终端 |
CN104363131A (zh) * | 2014-10-14 | 2015-02-18 | 国家电网公司 | 基于有限状态机动态可扩展的电力通信协议异常检测方法 |
CN106878163A (zh) * | 2017-04-13 | 2017-06-20 | 冶金自动化研究设计院 | 一种多数据协议转换的物联网智能网关 |
Non-Patent Citations (1)
Title |
---|
WILSON-LOO: "Lua自适应协议解析器开发记录(一)", 《HTTPS://WWW.CNBLOGS.COM/WILSON-LOO/P/3302419.HTML》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109413115A (zh) * | 2018-12-29 | 2019-03-01 | 中国银行股份有限公司 | 协议文本解析方法及系统 |
CN111475192A (zh) * | 2020-04-15 | 2020-07-31 | 上海莉莉丝科技股份有限公司 | 对游戏服务器进行热更的方法、装置、存储介质和系统 |
CN111475192B (zh) * | 2020-04-15 | 2023-11-10 | 上海莉莉丝科技股份有限公司 | 对游戏服务器进行热更的方法、装置、存储介质和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102622241B (zh) | 一种软件升级方法及装置 | |
CN103701930A (zh) | 一种移动应用程序的实时更新方法及系统 | |
CN108829378A (zh) | 一种应用软件的开发方法、装置及电子设备 | |
CN103176899B (zh) | 手机模拟器及在宿主机上模拟手机功能的方法 | |
US20140108600A1 (en) | Application distribution supplying a dedicated application to a terminal from an application deposited by the developer | |
CN110727438A (zh) | 基于SpringBoot的web系统自动生成工具 | |
CN108769132A (zh) | 一种基于lua的游戏协议解析与热更新方法及系统 | |
CN111359219B (zh) | 虚幻引擎的文件处理方法、装置、设备及存储介质 | |
CN103729189A (zh) | 基于lua的播放协议转换方法、系统、终端 | |
CN112035112A (zh) | 应用程序开发方法、系统、介质和电子设备 | |
CN110442344A (zh) | 用于跨平台转换应用的方法、装置、系统及介质 | |
CN106358083A (zh) | 电视应用的升级方法及系统 | |
CN112000334A (zh) | 页面开发方法、装置、服务器及存储介质 | |
CN111930398A (zh) | 应用程序更新方法、装置、系统、介质及设备 | |
CN116089126A (zh) | 一种数据实时采集方法、装置、设备及可读存储介质 | |
CN103812946B (zh) | 一种ar应用程序在线云更新的方法和系统 | |
US20060009962A1 (en) | Code conversion using parse trees | |
CN110780899A (zh) | 应用的热更新方法、装置、计算机设备及存储介质 | |
CN110580146B (zh) | 一种基于eros的混合应用解决系统 | |
CN113238739A (zh) | 一种插件开发和数据获取方法、装置、电子设备及介质 | |
EP1598739A4 (en) | NATIVE COMPILATION METHOD, NATIVE COMPILATION PRETREATMENT METHOD, COMPUTER PROGRAM, AND SERVER | |
CN112631644A (zh) | Flutter构造函数初始化式的修改方法及装置 | |
CN116301951A (zh) | 一种基于kubernetes的微服务应用安装升级方法及装置 | |
CN114115959A (zh) | App热修复方法及其装置、可读存储介质和计算机设备 | |
US11573787B1 (en) | Hot reloading a running application with an unsaved source code change |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181106 |
|
RJ01 | Rejection of invention patent application after publication |