【问题标题】:How can JavaScript receive the Timestamp of the DB's last entry? [closed]JavaScript 如何接收数据库最后一个条目的时间戳? [关闭]
【发布时间】:2016-04-19 04:59:29
【问题描述】:

注意,这是不同的,因为我希望 Javascript 接收它。

即使我以后必须切换到套接字,我也想知道如何使用这种方法。虽然我稍后可能会切换到推送方法,但目前不感兴趣

原因是我想减少使用的服务器资源,因为我的聊天目前每 500 毫秒检查一次消息,这非常糟糕;但是,这是必要的,因为我的一些用户一直在输入消息,有些用户只记录一次,例如每 2 分钟发送一条消息。因此,我想知道如何获取数据库最后一个条目的时间戳,以确定他们是否在最后一个说 30 秒内发送了一条消息,然后每 10 秒检索一次消息。如果他们在过去 2 分钟内发送了一个,则每 30 秒检查一次,但如果他们非常活跃,则增加时间间隔。重点是根据活动确定间隔。我已经超过了我的CPU一次,我也想试试。 我可能不得不切换到我没有任何经验的插座。

如果我碰巧得到了时间戳;带时间的时间戳怎么办?

时间戳 - time() = 以毫秒为单位的时间?

例如,我可以将时间戳设置为像这样的 cookie。

js:

$(document).ready(function(){

document.cookie...

var getMsg = function(){

 $.ajax {
url: php.php,
...
}

}

if(document.cookie < 30 secs){
var time = 500;
} 

setInterval(time, getMsg)

});

php.php:

<?php
 ...
 setCookie("timestamp data");
 ...

【问题讨论】:

标签: javascript php mysql timestamp


【解决方案1】:

您可以做相反的事情,而不是一直集中您的服务器 - 当您的应用程序将一条消息插入到您的数据库中时,您会向您的客户端发送一条消息。

WebSockets 就是答案。

已经构建了一些易于使用的库:

  • ASP.Net SignalR,如果您使用的是 Microsoft 堆栈(已使用、工作和 很简单);
  • Socket.IO,如果您使用的是 NodeJS(也使用过,工作且很简单);
  • 棘轮,用于 php(从未使用过)
  • 你也可以使用 Meteor
  • 其他,取决于您使用的技术

【讨论】:

  • 从技术上讲,这应该是评论,而不是答案。但这是一个很好的评论,它应该成为一个答案。 :-)
  • 我尝试插入评论,但它需要 50 的声誉,而我当时 26 岁。对不起,谢谢你
  • 如果您阅读了我的问题的最后一部分,我已经知道这一点;但是,就使用和安装而言,哪个最简单?
  • 我在服务器端使用 PHP。
猜你喜欢
  • 1970-01-01
  • 2015-06-09
  • 1970-01-01
  • 2014-02-02
  • 2012-03-28
  • 1970-01-01
  • 2011-04-06
  • 2012-09-20
  • 1970-01-01
相关资源
最近更新 更多