您的位置:首页 > 其它

游戏更新

2015-08-06 00:00 106 查看
摘要: 游戏更新流程

游戏更新流程:

1,向服务器请求版本文件(version.xml)

2,对比服务器版本信息和本地版本信息后做相应处理。

判断条件: 1) 是否需要检查

2 ) 服务器版本号较新或者服务器版本不变但客户端版本较新,设置需要更新标记

3 ) 资源版本号较新,更新资源。

3,对比版本后若无更新就进入游戏。

4,对比版本后若有更新则请求下载更新列表。

5,分析更新列表:

1)读取本地更新列表(上一次更新的)数据(id, name, md5)存放在 m_VersionFileMap<name, fileInfo>中。

2)读取本次下载的更新列表数据存放在 tempFileMap<name, fileInfo>中。

3)对比m_VersionFileMap 和 tempFileMap数据,对比结果存储在真正需要下载的m_needFileMap<int, NeedFile(name, state)>容器里

1)) tempFileMap有而 m_VersionFileMap没有的文件是新增文件,标记新增,需要下载。

2)) tempFileMap有并且m_VersionFileMap也有但MD5码不一样的文件是更新的文件,标记更新,需要下载。

3)) tempFileMap没有而m_VersionFileMap有的是旧文件,标记删除,不需要下载。

6, 开启线程下载,根据m_needFilemap的数据信息按需下载。

7 , 下载结束,更新本地版本信息。

8, 根据是否有更新so文件,判断是否需要重启游戏

9 , 更新结束。

( ps: 解压和下载文件这需要仔细看看)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: