纳金网
标题: 关于数据同步 [打印本页]
作者: 狂风大尉 时间: 2014-12-27 05:45
标题: 关于数据同步
关于数据同步
一说到数据同步,我们会想到的数据有两种:动态数据、静态数据。静态数据大家可以通过配置表(unity3d中可以采用可序列化文件)或启动拉取的方式更新。动态数据可以通过服务器同步进行更新。
在做数据同步的时候新手通常会犯两个方面的错误:
1. 本地操作,自行修改本地数据;
2. 服务器强控,所有逻辑、弹出框、逻辑等全由服务器控制。
我们先讨论,本地自行修改数据的弊端。本地自行修改数据,不论是服务器返回成功前还是成功后修改,都会有一个不可避免的[color=rgb(85, 85, 85) !important]问题:服务器数据修改失败。如果出现这种情况,本地认为修改成功,会因此引发的问题将多不胜数。此外,如果服务器逻辑错误,修改成功后,返回了错误,本地不修改数据,将造成更严重的后果。
如果采用服务器强控,即客户端只接收指定的少数几个命令用于弹出界面,和处理少量逻辑。这样做会使服务器压力非常大,虽然现在硬件、带宽不值钱了。同时,服务器要针对来自不同客户端的请求发送不同回包,比如:如果我们的应用是一个多语言的应用。
针对以上问题,所以我们在做数据同步的时候要尽量避免(当然局部地方,非常肯定不会有问题的时候也可以用)。这里提供一种方式:
1. 客户端处理必要逻辑和基本操作请求;
2. 服务器在接到客户端请求后做严格的条件检测,检测后修改数据,修改后先发数据同步包,再发送请求回包;
3. 客户端在收到数据同步包后,同步本地数据,并发送通知更新显示界面。
欢迎光临 纳金网 (http://go.narkii.com/club/) |
Powered by Discuz! X2.5 |