Java 推送像gmail、twitter和facebook这样的API

Java 推送像gmail、twitter和facebook这样的API,java,push,Java,Push,我想使用推送机制创建一个应用程序。i、 e.如果没有用户交互,我们可以在服务器中发生某些事情时将消息推送到客户端,类似于gmail处理他们的电子邮件和facebook最近的活动消息 如何使用java实现这一点 请帮忙,提前谢谢 实现这一点的一种技术是利用长轮询方法 客户端打开了与服务器的连接,但服务器没有立即返回结果,而是将连接保持一段时间并延迟其响应 如果发生了导致服务器响应触发的事件(新邮件、新即时消息…),服务器最终会向客户机应答。或者,如果请求超时运行,服务器只传递一个空结果 在这两种情

我想使用推送机制创建一个应用程序。i、 e.如果没有用户交互,我们可以在服务器中发生某些事情时将消息推送到客户端,类似于gmail处理他们的电子邮件和facebook最近的活动消息

如何使用java实现这一点


请帮忙,提前谢谢

实现这一点的一种技术是利用长轮询方法

客户端打开了与服务器的连接,但服务器没有立即返回结果,而是将连接保持一段时间并延迟其响应

如果发生了导致服务器响应触发的事件(新邮件、新即时消息…),服务器最终会向客户机应答。或者,如果请求超时运行,服务器只传递一个空结果

在这两种情况下,客户机都会处理响应并立即发出新的请求,以便整个过程重新开始

在Java中,客户端可以执行简单的请求。服务器端应该有适当的线程,并且timout不应该设置得太长

另外,请看一下:

每个web服务器/appserver都有一个线程池,比如10个线程用于处理web请求,如果所有这些线程都进入“睡眠”,则在其中一个“睡眠”存在之前,不会为其他web请求提供服务


您所需要的被称为Comet aka Reverse Ajax,有多种这样的实现,既有付费的,也有免费的

根据您选择的编程语言,您可以选择以下选项之一:

  • Tomcat反向Ajax
  • 码头彗星
  • DWR
  • Streamhub(付费但有社区版)
  • 猿猴。(免费不适用于Windows)
  • 大气(用于素面)
  • Dojo带来的

  • 或者只是使用API。您使用他们的REST服务发布事件,Pusher然后通过WebSocket将这些事件传递给所有客户端。API易于使用并支持多个通道。

    虽然回答得比较晚,但以下是我对如何进行服务器推送的看法。您可以使用socket io框架和nodejs。socket io客户端必须侦听事件,nodejs(服务器)上的socket io可以发送(推送)消息,客户端(网页中的socket io)拿起它,可以做它想做的任何事情。有一个陷阱,你应该知道一点javascript。套接字io协议也是传输不可知的

    这里是链接