【问题标题】:How to server side push data to client using jquery or javascript?如何使用 jquery 或 javascript 服务器端将数据推送到客户端?
【发布时间】:2013-06-02 04:14:45
【问题描述】:

我想将数据从服务器推送到 Web 客户端。现在我已经使用了 j2ee 技术,我正在使用 javascript 并给服务器一些 intervel 时间的 ajax 调用,然后将数据显示给 webclient。这个过程工作正常。但我觉得它对服务器的开销。我想在新数据进入数据库时​​从服务器获取数据,然后将数据推送到 Web 客户端。还有其他可用的技术或 tomcat 插件吗?

【问题讨论】:

  • 没有办法。 HTTP 作为请求-响应协议服务器,只有在有请求时才能发送响应。这通常使用 ajax 调用来完成
  • Long poll 和 Comet 是您应该看看的两种技术。
  • web 套接字似乎更适合您的情况,即使它消耗大量服务器端资源,尤其是在您使用 PHP 时。但是使用 nodeJs 会更好。您还可以寻找其他推送技术。但简单的方法应该只是针对您执行的每个 ajax 请求,检查数据库上的一种散列,该散列在每个修改服务器端都发生了变化。如果 hash 不同,则使用 ajax 请求的回调向客户端发送数据。

标签: java javascript jquery ajax tomcat


【解决方案1】:

看看“长轮询”策略。

这是一个可行的解决方案。虽然这是一个 ajax 调用,但它仍然减少了服务器负载。 Websockets 是另一种选择,但这并不总是可靠的,所以无论如何你都需要一个后备。

【讨论】:

  • 我应该在这里使用rabbitMq技术吗?
  • 不知道,“长轮询”是一个非常简单的策略,这里没有魔法。您只需发出一个“正常”的 ajax 请求,但有一个区别:服务器端确实 not 立即返回,而是在无需报告任何内容时简单地休眠/等待。如果发生事件(或超时),它只会返回一些 json 信息 sn-p。只有这样,客户端才会做出反应和/或重新建立连接。就这样。 blog.perplexedlabs.com/2009/05/04/…
  • 我会尝试回来
【解决方案2】:

看看APE推送服务器:http://ape-project.org

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多