项目代码:在这
剩余的8~11章节,Git项目中并没有实际编码我只是看了一遍,有兴趣的可以直接看原文。里面主要基于之前章节的内容实现一个简易项目(包含UI板块的登陆注册、加入创建房间等)
十二章 同步理论
- 同步分为 状态同步和指令同步(帧同步为指令同步的一种)。比如服务端将玩家A位置信息广播给B和C这叫状态同步。服务端如果给B和C广播A向前走这样的指令这叫指令同步。
状态同步
直接进行状态同步时
,会因为网络延迟的问题,出现瞬移的情况跟随算法
,为了防止瞬移,当客户端接收到某玩家状态信息,将会以同样速度向那个位置移动。这样可以看下图,得知延迟越大误差越大
预测算法
直接看下图吧
帧同步
指令同步
就是玩家A向前走,那么给玩家B和C分别发送向前走的指令消息MsgMoveForward,然后B、C分别处理向前走到指令,如果玩家B的电脑非常好,玩家C的电脑贼垃圾,就会出现玩家B电脑上的A已经走了很远。而玩家C的电脑中的A才处理了一点点的指令,也就是走了一点点远。