热更新流程

10 篇文章 0 订阅

热更新流程

热更新一般需要包含以下东西:

1.URL1:游戏版本配置文件地址

2.URL2:所有资源的MD5配置文件地址

准备
拉取游戏版本文件
本地服务器版本<服务器拉取的版本
本地游戏版本>=服务器拉取的版本
拉取服务器的MD5资源列表
本地MD5于服务器MD5一致
本地MD5与服务器MD5不一致
热更新结束
热更新结束
加载对应资源,判断缓冲区是否有对应资源
如果缓冲区有对应资源,加载该资源
如果缓冲区没有对应资源,加载本地库中的资源
启动游戏
热更新
验证游戏版本
进行热更新阶段
进入游戏
验证
跳过
下载资源到缓冲区
加载资源中
进入游戏大厅
问题

如果将热更新分为强更和弱更(静默更新),以上的更新策略将会不支持静默更新。

新策略

在下载资源到缓冲区后添加一步是否同步文件。如果直接同步文件则为强更,如果不直接同步文件则为静默更新。在下一次进入游戏的时候判断是否有文件未同步–先同步再检查热更新。

开始
拉取游戏版本文件
本地服务器版本<服务器拉取的版本
本地游戏版本>=服务器拉取的版本
拉取服务器的MD5资源列表
本地MD5于服务器MD5一致
本地MD5与服务器MD5不一致,并且缓冲区有对应资源
本地MD5与服务器MD5不一致,并且缓冲区没有对应资源
需要同步文件--强更
不需要同步文件--静默热更,开始游戏
同步文件结束
加载对应资源,判断热更目录是否有对应资源
如果热更目录有对应资源,加载该资源
如果热更目录没有对应资源,加载本地库中的资源
启动游戏
热更新
验证游戏版本
进行热更新阶段
进入游戏
对比MD5值
同步文件
下载资源到缓冲区
加载资源中
进入游戏大厅

github地址:

tolua是一种用于Lua脚本与C++代码互相调用的工具。热更新是指在应用程序运行过程中对部分代码或资源进行更新而无需重启应用程序的一种技术。 基于tolua的热更新流程一般包括以下几个步骤: 1. 准备Lua脚本和相关资源:首先,需要准备好新的Lua脚本和相关资源文件,这些文件包括更新后的代码逻辑、配置文件、图片、音频等。 2. 下载更新内容:接下来,应用程序需要从服务器或其他渠道下载更新的内容。可以通过HTTP或FTP等网络协议下载文件,也可以使用其他的下载方式。 3. 替换旧的Lua脚本和资源:下载完成后,将新的Lua脚本和资源替换掉原有的文件。这一步可以根据具体的应用程序结构和资源管理方式来确定。 4. 热更新处理:在应用程序运行时,需要动态加载更新后的Lua脚本并重新加载相关资源。这可以通过tolua提供的接口来实现,将新的代码逻辑注入到应用程序中。 5. 更新后的逻辑生效:更新后的Lua脚本和资源生效后,应用程序会按照新的逻辑运行,实现热更新的效果。这样就可以在不重启应用程序的情况下完成代码或资源的更新。 总的来说,基于tolua的热更新流程可以通过下载更新内容、替换旧的Lua脚本和资源、热更新处理和更新后的逻辑生效等步骤来完成。通过这种方式,可以实现应用程序的部分代码或资源的更新,提升开发效率和用户体验。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值