这是一道非常经典的分布式系统题目,主要考察你对 Cristian's 算法(克里斯蒂安算法) 在时钟同步中误差范围的理解。 Cristian 算法的核心思想是:客户端通过向服务器请求当前时间来进行同步,但由于网络传输需要时间(往返延迟),客户端必须对收到的服务器时间进行补偿。由于网络延迟是不确定的,我们只能计算出一个“真实时间”的区间(最早和最晚的可能时间)。
为了方便说明,我们先将题目中给出的已知条件梳理出来,并统一提取秒数部分进行计算:
Bash
sudo apt update sudo apt install meson ninja-build pkg-config gcc git
为了防止后面继续报错,请一次性把这些库也补全:
Bash
sudo apt install ffmpeg libsdl2-2.0-0 adb libavcodec-dev libavformat-dev libavutil-dev libswresample-dev libusb-1.0-0-dev libsdl2-dev