两台设备时间同步round trip latency (RTT)方式介绍
在游戏开发过程中,会发现很多时候需要两台设备间时间同步进行的情况。一般情况下,两台设备间时间同步使用round trip latency (RTT)方式
假设有A,B两台设备。
A->B:发送A的系统时间
B->A:直接发送
在A中,A的系统时间减去的时间就可以获得RTT.
A->B:发送RTT和A的现在时间。
以上操作即可。
假设在B中想得到A的现在时间,计算方法是->A的现在时间=+/2.
NTP也与以上方式类似。
通过网络特征来看,因为RTT测定一次无法确定准确性,所以RTT的每次测定都会稍有偏差。
无线网络环境下,会发生更大的变化只有反复测定后取平均值才会更加准确。
想了解更多平详情可参考 Proudnet.com/zh-hans 网站中提供了多种时间同步函数。
```
CNetClient.GetIndirectServerTimeMs
CNetClient.GetP2PServerTimeMs
CNetClient.GetServerTimeMs
```
ProudNet不仅仅是对服务器,还有P2P连接的其他客户端获取RTT的功能。
只需要运用CNetClient和CNetServer中的GetLastPing和GetRecentPing。
希望对感兴趣的人有所帮助 ProudNet不仅仅是对服务器,还有P2P连接的其他客户端获取RTT的功能。 目前为止约200家左右的游戏公司购买使用了ProudNet产品 欢迎大家围观,感谢大家关注 感兴趣的朋友一起来感兴趣的朋友一起来
怎么样,看起来是不是很赞 希望对你有用哦希望对你有用哦 更多技术性问题,一起来探讨 真是太有智慧了不是吗,哈哈