美文网首页
消息推送(本地、远程推送)

消息推送(本地、远程推送)

作者: 南山码僧 | 来源:发表于2020-03-20 15:35 被阅读0次

    本地推送

    概述:

    本地推送主要运用在系统工具中,如闹钟、生日提醒等。

    具体步骤:

    1:实例化一个推送对象

    2:为推送对象设置各种需要的属性

    3:添加推送对象

    远程推送

    概述:

    由远程服务器推送数据到客户端。部分情况需要开发者账号申请证书,生成配置文件等。

    实现方式具体有一下几种:

    1:短轮询

    概念:就是客户端定时的向服务器发送请求询问是否有数据更新,不论有否更新,服务器都即时给出响应结果。

    优点:后端程序编写容易

    缺点:大多数请求都是无用的,浪费了带宽和服务器资源。数据更新不及时。

    实际应用:适用于小型应用。

    2:长轮询

    概念:就是客户端向服务端发送请求询问是否有数据更新,服务端将请求挂起,然后查看服务端是否有更新。如果有更新就响应客户端结果,如果没有就一直挂起,直到超时。然后客户端处理完响应结果(包括超时)后再次发送请求以此循环。

    优点:在无消息的情况下不会频繁请求,耗费资源小。

    缺点:服务器挂起请求会消耗资源 ,返回数据顺序无法保证,难以维护管理。

    实际应用:WebQQ、Hi网页版、Facebook IM。

    3:长连接

    概念:客户端向服务端发起请求tcp连接后,服务端不关闭tcp连接,保持持久性连接状态。

    ⭕️ 隐藏的iframe

    描述:在页面中嵌入一个隐藏的iframe, 将这个iframe的src属性设置为一个长连接请求或是xhr请求,服务端就能不断的往客户端传入数据了。

    ⭕️ H5 WebSocket 

    描述:WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。

    优点:消息即时到达,不发送无用连接请求;管理起来也相对方便。

    缺点:服务器维护一个长连接会增加开销。

    实际应用:Gmail聊天

    4:Flash Socket

    概念:在页面中嵌入一个使用了Socket类的Flash程序,JS通过调用此Flash程序的Socket接口与服务器接口进行通信,JS在收到服务器传来的消息时控制页面的显示。

    优点:即时通信。

    缺点:客户端需要安装Flash插件;非HTTP协议,无法自动穿越防火墙。

    实际应用:网络互动游戏。 

    5:原生推送 (如IOS的PushMeBaby)

    相关文章

      网友评论

          本文标题:消息推送(本地、远程推送)

          本文链接:https://www.haomeiwen.com/subject/uqyjyhtx.html