android即时通讯功能开发思路?
现在开发的应用需要一个即时通讯模块,需求要求有文本、图片、语音的通讯功能。
请问有经验的同志,即时通讯功能大体是一个什么样的开发思路呢?比如:最基础的即时通讯需要用到哪些技术?android或者java中是否已经存在即时通讯方面的框架?也就是说,如果是你开发这个功能的话,你的一个大体开发思路是怎么样的呢?
本人仅仅会一些java基础,并没有多少网络编程基础,最好说的具体、浅显一些,感激不尽!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
现在有不少开发者服务商有即时通讯的功能,我列举一些我SegmentFault 的合作伙伴的类似功能,你可以通过他们的思路做一些参考
的确是这样,楼上说的这些都可以拿来就用的。
如果想自己玩得深点,简单的,可以用推送的sdk,维护长链接的问题就搞定了,自己只需要实现具体的业务逻辑代码就行了。
再技术一点,使用web socket或者mqtt之类,这些也都是可以维持长链接,但是相应自己要麻烦点,比如,断线重连,这些情况要考虑。
使用XMPP协议或者sip协议吧,目前基于这2个协议做的协议栈很多,xmpp是纯粹的面向IM的协议,一个完整的即时消息服务不但既要满足即时消息所需的功能,同时也需要有一定的扩展,比如好友的管理、组消息、会议室、好友上线、下线的消息推送,至于你说的图片、音视频那算是即时通信中的媒体信息。
直接用融云或者环信吧,管理起来也很方便
信贸通有全套的解决方案,免费的集成接口。用起来很方便。
http://www.semot.com/im/
想省事现在大把的云IM,但也就前期省事,后期运营也不是你自已能决定的。所以随便加个不痛不痒的Im功能,可以用云IM,长远来看,有自已的IM技术当然是谁都想要的,不过完全自已开发难度不小,但更多的是工作量也很大。
开源中国有一个开源的轻量级移动端即时通讯技术框架:http://git.oschina.net/jackjiang/MobileIMSDK,
文档也比较完善:http://www.52im.net/forum-89-1.html,或许值得了解下。对于学习IM开发的人来说,是个好东西。
做im的方案一般有两种:自研or使用第三方sdk
一、首先我们说下自研,自研的坑主要有两个
1、成本高
2、稳定性差
im这块做起来不难,几个工程师花个十天半个月就能做出一套系统来。但是做过IM 的工程师一般不会去做,因为im拾是个坑,功能不全面,而且很容易出bug,比如消息到达不及时、消息记录看不到,尤其是用户量起来后,问题会更多,这个坑很难填完。
自己做im稳定性差。这个感悟是我的两个经历得出的感悟:
1)我曾经做过产品经理,参与到了一个平台性的产品开发,初期这个产品是团队自研的,功能本身不全面,后来用户越来越多,im这块问题也原来越多,而且影响到了整个web端和移动产品的开发进程
2)我后来的工作就是为开发者提供im服务,有很多开发者联系到我们说本来自己做的im,做好之后问题很多。
二、利益相关
我和我的团队为开发者提供im的sdk、api接口、demo源码,我们的主要优势有:
1、稳定性
做过im的同学应该都知道,im做不好的话是个填不完的坑,尤其是用户量起来后,收发消息延迟等等各种问题都就出来了,那我们是怎么保障稳定性的呢?
1)采用消息必达策略,已成功发送1000亿条消息;
2)即使同时在线人数飚升,自动水平扩展可以应接海量并发;
3)选用BGP机房、全球多点覆盖
2、安全保障
1)不切入用户系统,选择性托管帐号系统;
2)采用私有二进制加密协议、RSA+流式加密传输,数据文件多重备份确保数据安全;
3)IT信息安全体系认证
3、服务
我们在开发同学接触到云信开始就提供7*24小时1对1的技术支持,有任何问题都可以在任何时间找到我们,并给予解决方案,这样一来开发同学的效率也高,产品开发进展也快
获取sdk包 api接口 demo源码私信我
建议直接接入第三方的IM云服务。技术发展到现在已经不流行重复造轮子了,因为轮子的结构越来越复杂,功能性和非功能性的指标要求越来越高;而我们的用户却不会再等我们了。当我们还在画轮子的图纸的时候,竞争对手可能已经把车子都造好,甩出我们好几条长安街。需求IM功能齐全,技术支持到位的话,直接调用网易云信IM SDK及API,即可快速实现IM功能http://netease.im/im