gpt4 book ai didi

javascript - 来自客户端的时间戳

转载 作者:搜寻专家 更新时间:2023-10-30 21:50:59 24 4
gpt4 key购买 nike

我正在开发一个即时消息传递应用程序,它在数据库中记录每条消息,其中包含消息 ID、消息内容和用于排序的时间戳列。

在插入数据库之前,我一直在使用 PHP 的 time() 函数添加时间戳,但我发现这可能会导致问题。如果用户快速提交两条或更多条消息,服务器可能会乱序处理它们并将它们混入数据库中。

我正在考虑改用 javascript 的 Date.getTime() 方法。这样,时间戳记录了用户提交消息的时间,而不是消息处理完成的时间(希望这两个数字没有不同)。

这带来了几个问题:

  • 数据可能被操纵。我将不得不仍然使用 PHP 的 time() 函数,并且仅在它们彼此相差不到一分钟左右时才提交(这不是一个完美的解决方案)。
  • 老实说,我不知道计算机的时间同步得有多好。如果用户在中国,提交的时间会是什么样子?

我确信这是一个一直在处理的问题。有哪些解决方案?

最佳答案

计算机时间没有很好地同步 - 您的应用绝对不应该指望这一点。

我认为合理的解决方案:

  • 仅使用客户端时间戳来确定客户端提交消息的顺序。
  • 对其他一切使用服务器时间戳

另请注意,客户端时间戳可以在任何时区(并且用户可以更改他们的时区),因此客户端时间仅在与来自同一客户端的其他时间戳进行比较时真正有用。

关于javascript - 来自客户端的时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21372532/

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