让我们说我们有一个带滴答时钟的服务器(只是一个整数变量,它与纪元相隔几毫秒,每当系统时间改变时都会更新)。
每个客户端应该能够与服务器同步自己的时钟(不是系统时钟!只是一个抽象计时器,一个随时间增加的整数值)。
例如,客户端可以发送"同步"请求和服务器将以其当前时钟值进行响应。
问题是我们无法准确知道发送和接收数据需要多长时间。我们知道从发送请求到接收数据所花费的时间,我们可以将这个差异除以2并将其添加到从服务器接收的值,但它不是很准确!
在执行服务器和客户端之间是否有一个同步时钟的常见概念,双方的值差异最小?
答案 0 :(得分:0)
我建议使用NTP(网络时间协议),这只是在整个网络中同步时钟的方法。
http://de.wikipedia.org/wiki/Network_Time_Protocol
几乎所有的操作系统(我管理Linux,Solaris,BSD和Windows)都有NTP的客户端和服务器。该协议具有构建网络延迟的能力。