大部分是组合协议。
网络游戏:基于UDP的可靠网络连接。
丢包少的时候5%,没有必要再传
定制自己的UDP。基于APQ和FEC.很多传输协议也需要自己写。
对时间, NTP算法:
程序员只需要重点关注逻辑,不需要关注那么多的网络方面的。
帧同步,锁同步,状态同步
坏处: 客户端算力浪费了 带宽要求高
最慢的那个人会拖慢所有人的进程 bucket 同步是非常好的,网络不好了服务器不管你了。
所有的数学运算都要符合原理。
定点数据:
要求严格同步, 同步随机数的种子,伪随机,
使用buffer来解决延时的问题,
渲染帧和逻辑帧: Quick Catch UP
关照模式: 回放模式: LockStep:
所有的状态客户端都有:
帧同步
提交玩家部分的信息,server端会模拟整个。
存在的问题入下:
server 对网速不好的不利,别人会比你快一步做出反应。 丢包的问题:
https://www.bilibili.com/video/BV1HN4y157Zq/?spm_id_from=333.788&vd_source=5c9c50b5a07b211beafdf65d7cc7f8c8