游戏开发时间同步处理问题

quaint87 2016-01-08 02:31:48
最近很是头痛,怎么处理高效的时间同步,只有时间同步即时类游戏的决策才能正常使用。
最近找了NTP,PTP相关协议,但是怎么运用却一点头绪都没有。
网上都是相关服务器等模块的出售(广告太多)
而且在游戏不能联网的情况下,如何进行时间同步呢(联网有公共事件同步服务器)。
...全文
2089 3 打赏 收藏 转发到动态 举报
写回复
用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
  • 打赏
  • 举报
回复
请各位大神不吝赐教

613

社区成员

发帖
与我相关
我的任务
社区描述
游戏策划与运营相关内容讨论专区
社区管理员
  • 游戏策划与运营社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧