动力节点旗下在线教育品牌  |  咨询热线:400-8080-105 学Java全栈,上蛙课网
首页 > 文章

服务器推送技术详解

08-11 17:17 373浏览
举报 T字号
  • 大字
  • 中字
  • 小字

当下最流行的一款APP应该非抖音莫属了,而抖音能火究其原因是它独特的推送算法,推送技术当居首功。本文我们就一起来探究一下服务器推送技术

推送技术是指通过客户端与服务器端建立长链接,客户端可以接收由服务器端不定时发送的消息。

在客户机/服务器的应用程序中,推送技术能够向客户机传送数据而无需其发出请求,例如发送电子邮件。相比较而言,万维网却是基于拉技术(Pull Technology),因此客户机浏览器必须事先向网页发出请求,所需信息才能被传送过来。传播媒介都属于推技术的应用范畴,因为不管是否有人接收,他们的信息都照发不误。

推送服务通常是在事先获得用户表达喜好的信息这就是所谓的发布/订阅模型。一个客户端可能“订阅”的各种信息“通道”。每当新的内容可以在这些渠道之一,服务器会推出的信息给用户。

同步会议和即时消息是推动服务的典型例子。邮件和聊天,有时文件推到了只要他们是由信息服务受到了用户。同行都分散的对等程序(如废物),并集中程序(如IRC或XMPP协议)允许推送文件,这意味着发送者发起数据传输,而不是接受者。

服务器推送通常效率要比客户端拖曳效率高,因为它不必为后续数据建立新的连接。由于始终保持连接,即使没有数据传输时也是这样,因此服务器必须愿意分配这些 TCP/IP 端口,对于 TCP/IP 端口数有限的服务器这将是一个严重的问题。客户端拖曳必须每次为传送数据建立新的连接但是它不必始终保持连接。在实际情况中,建立 HTTP 连接通常需要花费相当多的时间,多达一秒甚至更多。因此从性能上考虑,服务器推送对于最终用户更有吸引力,特别是对于需要经常更新信息的情况下。

 服务器推送相对客户端拖曳的另一点优势是,服务器推送相对比较容易控制。例如,服务器每一次推送时都保持一个连接,但它又随时可以关闭其中的任何连接,而不需要在服务器上设置特殊的算法。而客户端拖曳在同样的情况下要麻烦许多,它每次要与服务器建立连接,服务器为了处理将客户端拖曳请求与特定的最终用户匹配等情况,需要使用相当麻烦的算法。

手机推送服务的原理很简单,就是通过建立一条手机与服务器的连接链路,当有消息需要发送到手机时,通过此链路发送即可。推送服务的使用流程虽然略有差别但是大致都和IOS的APNS相似

1、首先是应用程序注册消息推送。

2、 IOS跟APNS Server要deviceToken。应用程序接受deviceToken。

3、应用程序将deviceToken发送给PUSH服务端程序。

4、 服务端程序向APNS服务发送消息。

5、APNS服务将消息发送给iPhone应用程序Push sevrice方案评价标

随着互联网时代的到来,各大网站和APP对推送技术的研发力度愈加疯狂,这不仅仅体现了服务器推送技术对于互联网产业的重要性,也说明了互联网流量时代的来临。我们只有看出互联网技术的流行趋势,才能学有所用,找到自己梦寐以求的高薪工作!

0人推荐
共同学习,写下你的评论
0条评论
爱读书的姑娘
程序员爱读书的姑娘

12篇文章贡献56281字

作者相关文章更多>

推荐相关文章更多>

一篇文章带你入门Zookeeper

达芬奇09-04 11:00

高性能HTTP及反向代理服务器Nginx

军哥07-29 17:02

浅谈Tomcat服务器优化方法

Code大师09-01 16:01

Linux 的 scp 命令详解

Code大师09-04 10:18

java学习之Linux网络通讯和网络访问

蛙课视频小助手08-04 16:45

发评论

举报

0/150

取消