gpt4 book ai didi

javascript - 考虑到网络延迟,您如何确定发送 HTTP 请求的准确时间?

转载 作者:可可西里 更新时间:2023-11-01 16:27:15 49 4
gpt4 key购买 nike

我正在构建一个应用程序,在该应用程序中,准确了解用户何时向服务器提交请求非常重要。这与服务器收到请求的时间不同,因为在用户按下提交和服务器收到POST 请求。

交互是通过带有 JavaScript 的 Web 浏览器进行的,因此任何涉及 JavaScript 的解决方案都是可以接受的。我考虑过使用 JavaScript 在用户的计算机或智能手机上获取当前时间,并将其用作提交请求的时间戳,但这本身并不可靠,因为用户计算机上的时钟可能已关闭。请假设服务器上的时钟是准确的。

最佳答案

我认为不可能获得精确 值。我认为您能做的最好的事情就是发送一个非常小的校准 AJAX 请求,该请求相当于客户端时间和服务器时间。无论如何,这就是我所做的。

编辑详细说明

基本上使用客户端时间戳(时钟)对服务器端点进行 AJAX 调用。一旦服务器收到客户端时间戳,就会检索并存储服务器时间戳。此时您可以假设时间是相对相等的。您不会知道网络开销,因此它们不同;他们的时钟也可能在不同的时区或只是“关闭”。

在你有了这个等价之后,你可以使用这两个时间的差异来校准来自客户端的任何其他时间:

  • clientTime0 - serverTime0 = clientServerDelta
  • (clientTimeX - clentServerDelta) 与记录 clientTimeX 时的服务器时间大约相同。

关于javascript - 考虑到网络延迟,您如何确定发送 HTTP 请求的准确时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7271031/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com