社区
游戏策划与运营
帖子详情
游戏开发时间同步处理问题
quaint87
2016-01-08 02:31:48
最近很是头痛,怎么处理高效的时间同步,只有时间同步即时类游戏的决策才能正常使用。
最近找了NTP,PTP相关协议,但是怎么运用却一点头绪都没有。
网上都是相关服务器等模块的出售(广告太多)
而且在游戏不能联网的情况下,如何进行时间同步呢(联网有公共事件同步服务器)。
...全文
2089
3
打赏
收藏
游戏开发时间同步处理问题
最近很是头痛,怎么处理高效的时间同步,只有时间同步即时类游戏的决策才能正常使用。 最近找了NTP,PTP相关协议,但是怎么运用却一点头绪都没有。 网上都是相关服务器等模块的出售(广告太多) 而且在游戏不能联网的情况下,如何进行时间同步呢(联网有公共事件同步服务器)。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yahle
2016-05-05
打赏
举报
回复
已某台服务器作为所有所有服务器的同步时间,其它的客户端与他同步,而且,需要同步要求高的游戏,更多的是做帧同步而不是时间同步。
ProudNet
2016-04-28
打赏
举报
回复
在游戏开发过程中,会发现很多时候需要两台设备间时间同步进行的情况。 一般情况下,两台设备间时间同步使用round trip latency (RTT)方式 假设有A,B两台设备。
A->B:发送A的系统时间 [1] B->A:直接发送 [1]
在A中,A的系统时间减去[1]的时间就可以获得RTT.
A->B:发送RTT[2]和A的现在时间[3]。
以上操作即可。 假设在B中想得到A的现在时间,
计算方法是->A的现在时间=[3]-[2]/2.
NTP也与以上方式类似。 通过网络特征来看,因为RTT测定一次无法确定准确性,所以RTT的每次测定都会稍有偏差。 无线网络环境下,会发生更大的变化只有反复测定后取平均值才会更加准确。 想了解更多平详情可参考 ProudNet
www.Proudnet.com.cn
网站中提供了多种时间同步函数。 ``` CNetClient.GetIndirectServerTimeMs CNetClient.GetP2PServerTimeMs CNetClient.GetServerTimeMs ``` ProudNet不仅仅是对服务器,还有P2P连接的其他客户端获取RTT的功能。 只需要运用CNetClient和CNetServer中的GetLastPing和GetRecentPing。
quaint87
2016-01-08
打赏
举报
回复
请各位大神不吝赐教
网络
游戏
开发
之同步模式
网络
游戏
开发
之同步模式 网络
游戏
如何实现所有客户端玩家信息同步?(如吃鸡中所有玩家的位置同步) 同步模式一般分两种:状态同步和帧同步。 状态同步:状态发生变化后,客户端上传操作到服务器,服务器收到后
处理
行为的结果,然后以广播的方式把状态发送给客户端,客户端收到状态后再根据状态显示内容。 如:吃鸡等大地图
游戏
、MMO
游戏
、因为MMO
游戏
的客户端承载有限,并不能把整张地图的实体全部展现出来。 帧同步:每一帧都要同步,每个客户端通过拿到相同的状态和指令,按帧顺序执行,达到同步效果。 如:LOL、王者荣耀等 二者
cocos2dx 多人小
游戏
时间同步
问题
(简单版)
在多人版的
游戏
开发
过程中,我们会经常碰到这样一个
问题
:由于每个客户端网络环境差异导致接收服务器消息的时间不同,就会导致多个客户端呈现的画面不同(即画面不同步),例如:以彩期开奖为例,客户端A已经收到开奖结果的推送了,但客户端B没有收到,如果不做任何
处理
,会导致后面画面的差异越来越大。因为网络环境的差异是一个客观的
问题
,所以我们并不能保证每个客户端能在同一时间收到服务器推送的消息。但我们可以在代码逻辑
Unity中实现
游戏
时间的同步
Unity中网络
游戏
肯定要考虑时间的同步
问题
,因为每个网络客户端因为网络的延迟不一造成进入
游戏
主界面的时间不一样,如果不考虑解决这个
问题
,就会造成不同客户端的
游戏
时间不同步,比如倒计时可能就会有先有后,这肯定不能满足
游戏
的要求。以我现在
开发
的网络对战
游戏
主题
游戏
为例,相对来说这个案例具有一定的通用参考价值,
游戏
实现的逻辑应该是:允许不一样网速或者客户端(当然我的
游戏
支持多客户端,这个根据
游戏
开发
定...
Python如何进行
时间同步
使用 NTP 协议进行
时间同步
:NTP(网络时间协议)是一种用于同步计算机时钟的网络协议,它可以通过网络传输协议(如UDP)在计算机之间进行
时间同步
。Python 内置的 ntplib 模块提供了访问 NTP 服务器的功能,你可以使用它来获取当前时间或者将本地
时间同步
到 NTP 服务器。这些库提供了不同的
时间同步
方法,例如通过 NTP 共享内存同步时间、通过时间戳获取时间等等。需要注意的是,进行
时间同步
可能会有一定的误差,特别是在网络延迟较大或者系统负载较高的情况下。
我是手游
开发
者(三)客户端与服务器
时间同步
问题
为防止用户修改当前时间,造成
游戏
逻辑混乱,客户端使用的时间为服务器时间。
游戏策划与运营
613
社区成员
223
社区内容
发帖
与我相关
我的任务
游戏策划与运营
游戏策划与运营相关内容讨论专区
复制链接
扫一扫
分享
社区描述
游戏策划与运营相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章