通过网络同步时钟,具有最高精度

时间:2015-05-26 14:03:16

标签: network-programming conceptual

让我们说我们有一个带滴答时钟的服务器(只是一个整数变量,它与纪元相隔几毫秒,每当系统时间改变时都会更新)。

每个客户端应该能够与服务器同步自己的时钟(不是系统时钟!只是一个抽象计时器,一个随时间增加的整数值)。

例如,客户端可以发送"同步"请求和服务器将以其当前时钟值进行响应。

问题是我们无法准确知道发送和接收数据需要多长时间。我们知道从发送请求到接收数据所花费的时间,我们可以将这个差异除以2并将其添加到从服务器接收的值,但它不是很准确!

在执行服务器和客户端之间是否有一个同步时钟的常见概念,双方的值差异最小?

1 个答案:

答案 0 :(得分:0)

我建议使用NTP(网络时间协议),这只是在整个网络中同步时钟的方法。

http://de.wikipedia.org/wiki/Network_Time_Protocol

几乎所有的操作系​​统(我管理Linux,Solaris,BSD和Windows)都有NTP的客户端和服务器。该协议具有构建网络延迟的能力。