如何使用jquery或javascript将服务器端数据推送到客户端?

如何使用jquery或javascript将服务器端数据推送到客户端?,java,javascript,jquery,ajax,tomcat,Java,Javascript,Jquery,Ajax,Tomcat,我想将数据从服务器推送到web客户端。现在我已经使用了j2ee技术,我正在使用javascript,并在几段时间内向服务器发出ajax调用,然后将数据显示给webclient。这个过程很好。但我觉得这会增加服务器的开销。我想在新数据进入数据库时从服务器获取数据,然后将数据推送到web客户端。还有其他技术或tomcat插件可用吗?看看“长轮询”策略 这是一个有效的解决办法。虽然这是一个ajax调用,但它仍然减少了服务器负载。WebSocket是另一种选择,但这并不总是可靠的,所以您无论如何都需要一

我想将数据从服务器推送到web客户端。现在我已经使用了j2ee技术,我正在使用javascript,并在几段时间内向服务器发出ajax调用,然后将数据显示给webclient。这个过程很好。但我觉得这会增加服务器的开销。我想在新数据进入数据库时从服务器获取数据,然后将数据推送到web客户端。还有其他技术或tomcat插件可用吗?

看看“长轮询”策略


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

看看APE推送服务器:

没有办法。HTTP用作请求-响应协议,只有在有请求时,服务器才能发送响应。这通常是使用ajax callsLong poll和Comet实现的,这两种技术您应该仔细研究一下。web套接字似乎更适合您的情况,即使它会消耗大量服务器端资源,尤其是在使用PHP时。但是有了nodeJs就更好了。您还可以寻找其他推送技术。但简单的方法应该只是针对您所做的每个ajax请求,检查数据库上的一种哈希,该哈希在每个修改服务器端都发生了更改。如果散列是不同的,那么使用ajax请求的回调将数据发送到客户端。我应该在这里使用rabbitMq技术吗?对此我一无所知,“长轮询”是一个非常简单的策略,这里没有魔力。您只需要发出一个“正常”的ajax请求,但有一点不同:服务器端不会立即返回,而是在无需报告的情况下简单地休眠/等待。它仅在发生事件(或超时)时返回一些json信息片段。只有这样,客户端才会做出反应和/或重新建立连接。这就是全部。我会试着回来