【发布时间】:2021-12-14 13:18:24
【问题描述】:
假设从当前服务器的时间戳1600000000.123(123 是毫秒部分)我们确实初始化 ping 到外部服务器的 API server-time 端点,这表示当时的服务器时间(当请求到达那里时)是1600000000.555.
但是,在请求到达服务器之前当然会有延迟,而且,当我们的请求获得响应时。当服务器响应 .555 时,可能恰好在我们服务器上的那个时刻(平行)已经是 1600000000.602 或任何不同的时间)。
那么,如何确定发起服务器上的时间,远程 API 何时响应该答案 .555。我们应该检查headers 还是我们应该使用哪种方法,以尽可能准确地找出毫秒差异。
(附言语言无关紧要 - 无论是 php 还是 node-js)
【问题讨论】:
-
网络时间同步是一个广泛的话题,也是一个复杂的话题。因为不知道源服务器是如何同步到某个权威时间源的,也不知道它当前的漂移,所以只能这么准确。
-
您将如何处理服务器和用户之间的缓慢请求?有很多方法可以尝试用多个时间戳来处理数据包,但它会偏离一定的百分比。
-
@Pointy 非常感谢您的评论,这是有道理的。
-
@epascarello 我认为请求速度慢或快并不重要。让它延迟5秒。我们只想找出“如何找出那个差异”。教授有什么方法可以衡量吗?
标签: javascript php datetime ntp