热更新流程

热更新流程

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

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

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

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

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

新策略

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

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

github地址:

你可能感兴趣的:(cocos2D,lua)