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环境 ...
随机推荐
- WiresShark 图解教程1
Wireshark是世界上最流行的网络分析工具.这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息.与很多其他网络工具一样,Wireshark也使用pcap network ...
- Codeforces Round #272 (Div. 1) B 构造 math
http://www.codeforces.com/contest/477/problem/C 题目大意:给你n个集合,每个集合里面有四个数字,他们的gcd是k,输出符合条件的集合中m,m为集合中最大 ...
- FusionCharts使用问题及解决方法(一)-FusionCharts常见问题大全
当你利用FusionCharts创建图表时报错,原因是多方面的.本文总结了一些常见问题及解决方法供大家参考,希望对大家有帮助. 如果你无法看到任何图表: 如果浏览器中的进度条一直加载,或者右键菜单显示 ...
- c语言字符串转OC字符串
// 如果把c语言字符串转OC字符串,@(C字符串) char *c = "abc"; NSLog(@"%@", @(c));
- HDU 5171 GTY's birthday gift 矩阵快速幂
GTY's birthday gift Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Othe ...
- PHP 代码跟踪
怎么知道代码的执行过程呢,也就是说怎么知道:是先执行哪些代码,然后执行哪些代码呢? 这里有一个非常犀利的函数,可以让你知道代码的执行过程 debug_backtrace() 函数. 来一段代码: L ...
- Cow Hopscotch
Cow Hopscotch 题目描述 Just like humans enjoy playing the game of Hopscotch, Farmer John's cows have inv ...
- PAT (Advanced Level) 1001. A+B Format (20)
简单题. #include<iostream> #include<cstring> #include<cmath> #include<algorithm> ...
- Altera CYCLONE III FPGA BGA布线
最近在做altera FPGA BGA相关的布线工作,收集了一些资料,公开出来以供大家讨论. 首先是器件引脚,只有弄清楚器件各个引脚的功能才能够进行布线,下面的文档详细描述了每个引脚的功能. 各引脚功 ...
- asp.net 输出Excel
private void lbtExportToExcel_Click(object sender, EventArgs e) { string strdate = DateTime.Now.Mont ...