帧同步储备知识点
网络协议:TCP或者UDP,一般是采用可靠的UDP。
ProtoBuf:谷歌制定的一种数据传输与存储格式:
随机数种子:游戏中难免会出现一些产生随机数的场景,但是如果是帧同步的话,就要保证各个客户端生成的随机数是一致的,否则就会出现数据不同的情况。但是要实现这样一个生成随机数的需求,就需要使用随机数种子,而这实际上并不算是真正的随机。
帧:帧可以是通常意义上的一个帧,也就是一个图片里的信息,也可以表达是一个短暂的时间片。在帧同步机制中,玩家并不是操作一次就上传一次操作,而是积攒一个事件片的操作打包发给服务器,然后服务器返回,客户端表现。
为什么使用UDP做帧同步
1,帧同步传输频率高,需要保证传输速度
2,两种“长连接”传输协议比较
UDP实际上是无连接的,而TCP是面向连接的。客户端使用UDP技术像服务器端发送消息,只需要知道地址和IP端口。
登陆游戏、匹配游戏、寻找房间可以用TCP来做,在战场同步中使用UDP。
帧同步同步什么?
同步的是玩家操作:(至少包含如下两块内容)