当下最流行的一款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对推送技术的研发力度愈加疯狂,这不仅仅体现了服务器推送技术对于互联网产业的重要性,也说明了互联网流量时代的来临。我们只有看出互联网技术的流行趋势,才能学有所用,找到自己梦寐以求的高薪工作!
达芬奇09-04 11:00
军哥07-29 17:02
Code大师09-01 16:01
Code大师09-04 10:18
蛙课视频小助手08-04 16:45