rest推送实现--jesey SSE

rest推送实现–jesey SSE

  服务器推送技术,是一种当服务器端的业务数据,资源状态发生改变的时候,服务器可以主动将这个信息通知给浏览器的通信技术。这里我们不讨论TCP/IP协议建立的连接,基于这种的Socket,一但连接建立,在这样的双向通信链路中随时都可以发送通知。如果我们自己在项目中实现一般还是使用第三方的,比如极光推送这个也是采用建立TCP长连接实现的。我们这里就主要介绍HTTP协议下面的推送。

有哪些推送技术?

1.Polling技术

  这里就只简单的说一下polling(轮询),是客户端周期性地访问服务器来获得数据。

  优点:客户端轮询技术易于实现。不需要为此在服务器或者浏览器端额外使用第三方库。

  缺点:客户端轮询每次请求都需要建立新的Http连接并在结束时关闭,就算是没有更新数据也会建立大量的Http连接来查询是否更新。

2.Comet

  反向AJAX的技术集,包括长轮询和流两种技术实现。反向AJAX利用HTTP1.1中的keepAlive持久性连接技术,在客户端发出请求后,通过KeepAlive保存服务器向浏览器做出响应的通信。

  优点:解决了轮询的消耗服务器网络带宽的问题,变成了推。

  缺点:Comet需要服务器额外的技术支持,需要服务器和客户端同时引入第三方工具包,实现相对复杂。

3.HTML5技术集中的SSE和WebSocket(TCP双通道)

  http://blog.csdn.net/li563868273/article/details/50251267

在我的这篇帖子中有详细的SSE介绍。我这里主要讲如何实现。

如何实现推送?

  jersey的SSE MAVEN依赖包如下:

<dependency>
  <groupId>org.glassfish.jersey.media</groupId>
  <artifactId>jersey-media-sse</artifactId>
  <version>${jersey.version}</version>
</dependency>

Jersey的SSE有两种通信模式

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值