APP IM 之 XMPP和Jabber及选择方案
1. 概述
IM ,InstantMessaging,即时通信。
现在,市面上有一批提供即时通信功能的公司。如:全时、云之讯(IM无语音和视频)、容联云通讯(支持点对点音视频,按照消息的存储空间收费)、融云(不支持视频)、环信(支持视频,点对点) 等等,从网上一搜,能搜出一大堆来。也许你觉得,怎么开发个IM系统这么简单吗,为什么这么多公司都做得这么好?其实不然,这些产品,其实都是基于很久之前的一个开源的技术,Jabber。
Jabber是JeremieMiller在1998年开始,2000年5月发布的一个即时通信服务器技术。刚开始应该是只能在Linux上,现在也能在Windows上运行。
Jabber的服务器是分布式的,用户通过服务器进行交流。并且,不同的服务器的用户之间也可以交流。像Google的Gtalk、MSN、ICQ等,都可以与Jabber服务器的用户进行通信。
XMPP是Jabber的通讯协议,原来不支持音视频,限制的升级版本也进行了支持。
上面说了这么多,像我们用到的环信的IM功能,还是很稳定的。并且也有很多用户在用,这是经过验证的,不用太担心这方面的问题。
2. 比较
2.1. 环信
环信,用的人挺多,集成及支持,我感觉挺方便:
环信现在日活跃量在30万以下,是不收费的。超过这个数量,每10万日活跃用户的收费标准时5000元/月。但是环信有个“离线消息”的问题,只支持500条,并且是所有人500条,包括群组,如果这样,人数不要太多,肯定会出现丢失离线消息的情况。
环信的音视频是没有收费的环节的。
2.2. 容联
容联 云通讯 ,用的客户也很多,并且品牌公司挺多的:
容联云通讯的IM的基本功能是完全不收费的,即时消息和文件存储超过默认空间,会覆盖掉原来的信息。拨打移动等运营商的电话号码会收费。语音和视频通话超过1万分钟会收费。
专有云是收费的,私有云相对专业云更贵一些,根据用户量会有价格的区别。
2.3. 其它
其它的要么不支持音视频,要么没那么多公司在用。暂时没发现太好的,所以还是不考虑使用了。
3. 选择方案
相比较而言,
环信的优点:1. 音视频是免费的,可以随时集成,2. 集成起来比较方便,而且有过使用经历。
环信的缺点:1. 离线消息总共是500条,其它再推送是收费的,不然肯定会收不到离线消息。
容联的优点:1. 没有用户数的限制(这一条可以忽略了,因为环信日活动30万也是很大的基数)。2. 推送离线消息
容联的缺点:1. 音视频超过1万分钟会收费 2. 相比环信,集成开发不是很方便
我后来又确认了下,环信的离线消息是一个人有500条,这500条来自不同的人或者群组,保存7天,我觉得这样就够用了。环信的商务跟我说叉了。
那么就选环信吧。
APP IM 之 XMPP和Jabber及选择方案的更多相关文章
- 跨平台app开发(引擎)工具的选择【转】
跨平台app开发(引擎)工具的选择 1.html5执行速度慢,用户体验不好 2.原生应用开发,即ios和安卓分别开发,需要两种技术人员,后期代码维护困难,很难达到统一. 3.xamarin是一款c#的 ...
- [课程设计]Scrum 3.7 多鱼点餐系统开发进度(留言板选择方案)
Scrum 3.7 多鱼点餐系统开发进度(留言板选择方案) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到店点餐系统W ...
- 一款新型的智能家居WiFi选择方案——SimpleWiFi在无线智能家居中的应用
一款新型的智能家居WiFi选择方案——SimpleWiFi在无线智能家居中的应用 先上图: 随着科学技术的不断发展,局域网也正逐渐向无线化,多网合一的方向发展,在这个多网合一快速发展过程中,带 ...
- 跨平台app开发(引擎)工具的选择
1.html5执行速度慢,用户体验不好 2.原生应用开发,即ios和安卓分别开发,需要两种技术人员,后期代码维护困难,很难达到统一. 3.xamarin是一款c#的解决方案,收费.xamarin.fo ...
- 生成证书时Distribution下面App Store and Ad Hoc 选项不能选择的原因及解决办法
出现这个问题的原因是:发布用的证书创建是有数量限制的,仅支持3个,所以把原先不用的证书Revoke掉就可以了
- 移动端HTML5开发 选择方案
如今出现了大量的CSS前端框架,但真正优秀的框架只有少数几个. 本文将会比较其中五个最佳的框架.每个框架都有自己的优点和缺点,以及具体的应用领域,你可以根据自己的具体项目需求进行选择.此外,许多选项都 ...
- PAT 甲级 1068 Find More Coins (30 分) (dp,01背包问题记录最佳选择方案)***
1068 Find More Coins (30 分) Eva loves to collect coins from all over the universe, including some ...
- CodeForces 27D - Ring Road 2 构图2-sat..并输出选择方案
题意 n个数1~n按顺序围成一个圈...现在在某些两点间加边..边可以加在圈内或者圈外..问是否会发生冲突?如果不发生冲突..输每一条边是放圈内还是圈外. 题解 ...
- app后端设计(2)--xmpp的使用(2014.01.14更新)
在app中有时候是需要添加聊天服务,在这里谈谈曾经开发聊天服务的经验: (1)聊天服务端选的openfire,这是一个基于xmpp协议的聊天服务器(XMPP是一种基于XML的协议,它继承了在XML环境 ...
随机推荐
- Linux RAR 安装和使用
描述:Linux默认自带ZIP压缩,最大支持4GB压缩,RAR的压缩比大于4GB. 流程:下载 >安装 > 使用 ------------------------------------- ...
- 使用curl获取乱码问题
今天通过curl获取百度地图接口数据,获取到居然是乱码,于是我查看是不是编码问题,发现返回的编码和自己的编码都是utf-8, 继续找原因,发现header报文中 Content-encoding 为 ...
- FusionCharts使用问题及解决方法(一)-FusionCharts常见问题大全
当你利用FusionCharts创建图表时报错,原因是多方面的.本文总结了一些常见问题及解决方法供大家参考,希望对大家有帮助. 如果你无法看到任何图表: 如果浏览器中的进度条一直加载,或者右键菜单显示 ...
- js变量数组
<html><head lang="en"> <meta charset="UTF-8"> <title>< ...
- 让你的MyEclipse具有jquery自动提示
想让你的MyEclipse支持Jquery的自动提示更简单一些,照下图完成即可: 照上面图示已经完成了Jquery自动提示的配置,此时spket已经有两种AJAX库的自动提示,通过右边的De ...
- PLSQL开发笔记和小结
***************************************** PLSQL基本结构*****************************************基本数据类型变 ...
- stm32 IAP + APP ==>双剑合一(转)
源:http://blog.csdn.net/yx_l128125/article/details/13591743 (扩展-IAP主要用于产品出厂后应用程序的更新作用,上一篇博文详细的对IAP 升级 ...
- Lua打印Table的数据结构工具类
--这是quick中的工具,作用就是打印Lua中强大的table的结构, 当table的嵌套层级比较多的时候,这个工具非常方便,开发中必备的工具. --具体使用方法:local debug = req ...
- css3选择器总结--强大如jquery
最近发现,阿里的笔试考了许多css3的知识,像query media.box-flex等等.主要是移动浏览器的开发,让html5和css3如虎添翼,再也不用担心兼容了.so总结一下css3的选择器: ...
- angularJS 系列(一)
angularJS 中 $scope 的原型 和 原型继承之间的细微差别是什么? 参考:http://stackoverflow.com/questions/14049480/what-are-the ...