王者荣耀的数据同步方案_DDS

本文介绍了DDS(Direct Digital Synthesizer)在大型软件系统中的作用,特别是在高实时性数据同步方面。通过举例王者荣耀游戏中的战斗场景,阐述了DDS如何确保玩家动作的数据同步,防止因延迟导致的游戏体验问题。当网络状况不佳时,客户端可以从服务器获取最新数据以保持同步。DDS在确保游戏数据实时更新和一致性方面发挥了关键作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前说到ctk用于一个大型软件内部各模块之间的数据交互,这一篇讲述在大系统场景下,各分系统如何进行数据同步。这里我们用到了DDS数据分发服务器
那什么是DDS服务器呢?
直接数字式频率合成器DDS(Direct Digital Synthesizer,关于DDS是什么,网上介绍很多,比较专业有时也看不懂此处也不做过多介绍,说说怎么用的你就明白了
比如说某者荣耀,10个人在玩这一个游戏,玩家红1给咱家蓝1放了一个大招,如果数据不同步,那么在红1看来自己可能已将对方杀死,蓝1可能还在野区闲逛呢,等反应过来自己死了,是不是很离谱,所以必须同步且实时性必须非常高,这时DDS排上了用场,他是怎么做的呢

仍旧用刚才场景说明,首先红蓝双方的位置都会同步到DDS,双方的每一个人也订阅了场景内所有敌我数据以及野怪数据,当蓝1给红1放大招时,蓝1用户先把数据发送到DDS服务器,服务器收到此消息后经过一系列算法判断损伤并把数据放在服务器,因为一开始所有玩家订阅了此数据,所以数据服务器再将数据转发给所有玩家,这时就达到了同步
如果网络不好卡了怎么办
客户端会直接从服务器获取最新的包,来进行显示。所以交战时卡了,后面发现自己已经被杀死,是因为你的数据在无法发送到服务器时,无法放出技能,结果被敌方砍死,当然游戏本身在发现你超时连接会直接让你回城

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑娃的需求

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值