游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5076|回复: 9

服务器数据同步问题

[复制链接]

13

主题

79

帖子

81

积分

注册会员

Rank: 2

积分
81
QQ
发表于 2010-5-17 13:40:00 | 显示全部楼层 |阅读模式
比如进行包裹界面两个物品交换的操作
一种方法是:显示根据客户端的鼠标点击事件来变换对应图标。在此期间锁住对这两个格子操作。等服务器那边数据变好了进行解锁的操作。这样没有延时的感觉。
另一种方式是:让服务器告诉客户端什么时候换图标。这样可以做到服务器和客户端数据显示的同步,但是有延时感觉。
究竟哪种方式好呢?

0

主题

4

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2010-5-17 20:58:00 | 显示全部楼层

Re:服务器数据同步问题

当然是第2种好了,客户端只能提交操作申请,然后根据服务器的数据变化来进行显示的更新。如果客户端直接把结果给先显示了,要是失败怎么办,要是申请被丢失怎么办。

13

主题

79

帖子

81

积分

注册会员

Rank: 2

积分
81
QQ
 楼主| 发表于 2010-5-18 08:13:00 | 显示全部楼层

Re: Re:服务器数据同步问题

ganyamdc: Re:服务器数据同步问题

当然是第2种好了,客户端只能提交操作申请,然后根据服务器的数据变化来进行显示的更新。如果客户端直接把结果给先显示了,要是失败怎么办,要是申请被丢失怎么办。

多谢回复啊,现在使用第二种方式这样操作:客户端点交换的时候锁住两个交换的格子 (此时不能对这两个格子进行操作)
等服务端发了数据后再改图标,再对格子进行解锁。如果数据失败了或申请失败这两个格子就永远锁住了。感觉也存在和第一种类似的问题

1

主题

3

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2010-5-18 14:05:00 | 显示全部楼层

Re:服务器数据同步问题

我觉得如像你举例的问题的话,完全和服务端没关系吧. 客户端自己记录就可以了吧.这样减少了服务端的开销,也不会造成什么外挂之类的吧.
只不过下次登录的时候物品又得重新摆放..
如果是交易的话,肯定是第二种方案.

我也只是个游戏开发爱好者,欢迎交流

13

主题

79

帖子

81

积分

注册会员

Rank: 2

积分
81
QQ
 楼主| 发表于 2010-5-18 15:12:00 | 显示全部楼层

Re:服务器数据同步问题

thanks 4楼 我说的不是你那个意思,如果都放客户端就没同步过程了,我说的第一种方式和第二种方式的区别主要是同步的时间不同,不是需不需要同步。 能不能归纳一下一般网游哪些判断是要放客户端,哪些判断是要放服务端的呢

0

主题

16

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2010-5-20 13:18:00 | 显示全部楼层

Re:服务器数据同步问题

汗……只有在你点击确定,才会上发消息的

0

主题

13

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2010-5-21 14:06:00 | 显示全部楼层

Re:服务器数据同步问题

首先,这个问题貌似不是数据同步!
仅仅是一个操作问题!

解决方法一般为第一种。但是,需要对数据的协议进行优化,关键点在于“加/解锁”。
一般游戏中,Client的Action优先进行,Server进行校验后给出结果,同时判断Next Action的能否进行,并发送给Client解锁。
此类方法适用于任何机制,并且理论上会消除很大延迟!

希望批评指正!!!

13

主题

79

帖子

81

积分

注册会员

Rank: 2

积分
81
QQ
 楼主| 发表于 2010-5-28 16:54:00 | 显示全部楼层

Re: Re:服务器数据同步问题

菩提老祖: Re:服务器数据同步问题

首先,这个问题貌似不是数据同步!
仅仅是一个操作问题!

解决方法一般为第一种。但是,需要对数据的协...

谢谢回复,好久没上论坛了 呵呵 就这个操作 我也偏向于第一种

11

主题

1238

帖子

1782

积分

金牌会员

Rank: 6Rank: 6

积分
1782
发表于 2010-5-31 11:42:00 | 显示全部楼层

Re:服务器数据同步问题

如果离开了格子,还有什么办法呢?

0

主题

4

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2010-6-12 22:44:00 | 显示全部楼层

Re: Re: Re:服务器数据同步问题

howlet2: Re: Re:服务器数据同步问题


多谢回复啊,现在使用第二种方式这样操作:客户端点交换的时候锁住两个交换的格子 (此时不能对这两个格子...

加些辅助操作就行了。你对锁定的格子,再做个定时器的。一段时间内如果没有相应的交换消息过来,就把锁定去掉。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-8 15:36

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表