消息推送(Push)就是通过服务器把内容主动发送到客户端的过程。运营人员通过自己的产品或第三方工具对用户移动设备进行主动消息推送。完成推送后,消息通知会展示在移动设备的锁定屏幕及通知栏上,用户点击通知即可去往相应页面。
现在流行的消息推送实现方式,主要为长链接方式实现。其原理是客户端主动和服务器建立TCP长链接,长链接建立之后,客户端定期向服务器发送心跳包用于保持链接,当有消息要发送的时候,服务器可以直接通过这个已经建立好的长链接,将消息发送到客户端。
个推作为国内移动推送领域的早期进入者,于2010年推出个推消息推送SDK产品,十余年来持续为移动开发者提供稳定、高效、智能的消息推送服务,成功服务了人民日报、新华社、CCTV、新浪微博等在内的数十万APP客户。个推消息推送,也是运用长链接的方式实现消息推送的,其长链接稳定性高、存活好,消息送达率高。开发者通过集成个推消息推送SDK,即可简单、快捷地实现Android和iOS平台的消息推送功能,有效提高产品活跃度、增加用户留存。
如果您对个推消息推送感兴趣,欢迎前往个推开发者中心免费注册体验。
个推的合作客户
在安卓系统上做推送的方法如下:1通过SMS进行服务器端和客户端的交流通信。在Android平台上,你可以通过拦截SMS消息并且解析消息内容来了解服务器的意图,可以实现完全的实时 *** 作
2循环主动定时获取:这种方法需要客户端来做一个定时或者周期性的访问服务器端接口,以获得最新的消息。
3持久连接:这个方案可以解决由轮询带来的性能问题,但是还是会消耗手机的电池。需要开一个服务来保持和服务器端的持久连接(苹果就和谷歌的C2DM是这种机制)。
推送消息应该找一家安全,稳定的平台。例如极光。极光稳定的自有数据与多源外部数据交叉验证与补充,确保数据指标的趋势准确与稳定。70+中国投资机构、100+海外投资机构以及200+中国知名互联网公司正在使用极光iAPP的付费数据服务辅助其投资和战略决策。
米聊和kik是XMPP协议的,微信是activesync协议的。米聊早期似乎使用的ejabberd,后期自己写了,kik使用的是 tigase server。陌陌早期也是xmpp,用的openfire,后来自己做了。QQ微信这些都用的自己的协议,而且不会公开。
对于小一点的公司想要实现实时聊天,一开始从XMPP做起是不错的选择。因为它是一个公开的标准,又有很多开源的实现,比如你提到的Openfire, aSmack和XMPPFramework,可以花费较少的开发量,就可以搭建出一套还算好用的实时聊天方案。
起步之后,你会想要添加更多的功能,XMPP有很多扩展,很多需求都能满足。一般来说,要做的产品都是服务器、客户端都由自己掌控,不需要和其他的厂商的聊天服务器/客户端互联互通,所以之后可以慢慢在XMPP上加入自己的扩展,甚至是一些删改(因为XMPP里面不少机制是为了适应不同公司的组件)。于是渐渐的,最后使用的协议可能已经和标准的XMPP不一样了,成了自己的协议。
这样从XMPP上演进出来的协议,虽然具体实现和XMPP可能相差不少,但是基本思想和原理又与XMPP一致。相比自己从头设计出一套全新的协议,基于这样一套经过无数项目考验过的协议,显然容易得多,风险也要小得多。根据实地观察,单台mqtt服务如果并发达到5w以上,就经常出故障;在2w左右内网访问服务器就比较卡了。
注:配置是4核 16G内存,虚机。配置有点差。对CPU的消耗比较高,内存基本没啥消耗,所以建议把CPU整好点。在构建xmpp web客户端的时候, 如果网站和xmpp服务器的域名不一致,就需要用到跨域请求了。
可以使用 flXHRjs 这个库来实现跨域请求,因为使用了 strophe,所以需要加载以下两个js。之后会在 strophe 中会使用 flxhr 来发起请求。
使用 flxhr 请求, 需要服务器在根目录返回 domaincrossxml 文件, 具体格式点这 ---> 文档链接
ejabberd 的 mod_>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)