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及选择方案的更多相关文章

  1. 跨平台app开发(引擎)工具的选择【转】

    跨平台app开发(引擎)工具的选择 1.html5执行速度慢,用户体验不好 2.原生应用开发,即ios和安卓分别开发,需要两种技术人员,后期代码维护困难,很难达到统一. 3.xamarin是一款c#的 ...

  2. [课程设计]Scrum 3.7 多鱼点餐系统开发进度(留言板选择方案)

    Scrum 3.7 多鱼点餐系统开发进度(留言板选择方案) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到店点餐系统W ...

  3. 一款新型的智能家居WiFi选择方案——SimpleWiFi在无线智能家居中的应用

    一款新型的智能家居WiFi选择方案——SimpleWiFi在无线智能家居中的应用 先上图:     随着科学技术的不断发展,局域网也正逐渐向无线化,多网合一的方向发展,在这个多网合一快速发展过程中,带 ...

  4. 跨平台app开发(引擎)工具的选择

    1.html5执行速度慢,用户体验不好 2.原生应用开发,即ios和安卓分别开发,需要两种技术人员,后期代码维护困难,很难达到统一. 3.xamarin是一款c#的解决方案,收费.xamarin.fo ...

  5. 生成证书时Distribution下面App Store and Ad Hoc 选项不能选择的原因及解决办法

    出现这个问题的原因是:发布用的证书创建是有数量限制的,仅支持3个,所以把原先不用的证书Revoke掉就可以了

  6. 移动端HTML5开发 选择方案

    如今出现了大量的CSS前端框架,但真正优秀的框架只有少数几个. 本文将会比较其中五个最佳的框架.每个框架都有自己的优点和缺点,以及具体的应用领域,你可以根据自己的具体项目需求进行选择.此外,许多选项都 ...

  7. 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 ...

  8. CodeForces 27D - Ring Road 2 构图2-sat..并输出选择方案

        题意             n个数1~n按顺序围成一个圈...现在在某些两点间加边..边可以加在圈内或者圈外..问是否会发生冲突?如果不发生冲突..输每一条边是放圈内还是圈外.     题解 ...

  9. app后端设计(2)--xmpp的使用(2014.01.14更新)

    在app中有时候是需要添加聊天服务,在这里谈谈曾经开发聊天服务的经验: (1)聊天服务端选的openfire,这是一个基于xmpp协议的聊天服务器(XMPP是一种基于XML的协议,它继承了在XML环境 ...

随机推荐

  1. Struts2语法--Ognl

    OGNL: Object Graph Navigation Language index.jsp: <body> 访问属性 <a href="<%=contextPa ...

  2. Android Audio Focus的应用(requestAudioFocus)

    网址:http://blog.csdn.net/dadoneo/article/details/8252933 FROM: http://www.linuxidc.com/Linux/2012-04/ ...

  3. angularJs中ngModel的坑

    angular中指令被用的最多的除了ng-repeat之外就非他莫属了吧,由于各种业务的需求,我们经常需要去写一些继承ngModel的指令,来满足各种奇葩需求,最多的莫过于表单的验证啦,另外你在封装一 ...

  4. PAT (Advanced Level) 1061. Dating (20)

    简单模拟. #include<stdio.h> #include<string.h> ],s2[],s3[],s4[]; ][]={"MON ", &quo ...

  5. C# devExpress BandedGridView属性 备忘

    BandedGridView属性备忘 StringBuilder sb = new StringBuilder(); DevExpress.XtraGrid.Views.BandedGrid.Band ...

  6. TCP与UDP的区别(转)

    源:http://blog.chinaunix.net/uid-20745340-id-1878774.html 参考:TCP协议与UDP协议的区别 TCP与UDP的区别 中国移动.中国联通推行的GP ...

  7. Java谜题——类谜题(二)

    1.域的隐藏 代码如下: class Base { public String className = "Base"; } class Derived extends Base { ...

  8. 关于 CentOS 7 里面 普通用户 Ulimit max user processes 值的问题

    最近在对tomcat 的一个 项目进行 压测, 普通用户 启动 tomcat 的时候 压力上去以后就会报 java.lang.OutOfMemoryError 的错误, 这种错误 按道理来说都是 系统 ...

  9. 二分查找javascript

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. 加载window事件

    $(document).ready()和window.onload的区别 发表于 2012-08-29 由 admin 以浏览器装载文档为例,在页面加载完毕后,浏览器会通过JavaScript为DOM ...