android即时通讯研究(逐渐完善中,还很简单)

来源:互联网 发布:石破天 武功 知乎 编辑:程序博客网 时间:2024/06/03 15:40
    前段时间转行android开发,为了学习做了个即时通话的项目,可以两个人直接通话,使用tcp传送数据。
    主要是为了学习android基础知识,所以做的比较简单,语音通话的降噪和回音消除都没有做。    有兴趣的朋友可以继续做下去,建议用rtp实现语音传输,同时用一些开源库降噪如speex。项目中包含了自定义控件,socket通讯,线程通讯,线程同步方面的知识。
    找到工作后比较忙,不打算继续做下去了,后面有空再写下项目的总结,上传上来主要是为了分享下,让有需要的人可以参考下。    如果有人看了我的项目有认为有什么地方需要改进的,欢迎提出。降噪和回音消除就不用说了,因为这两个都是难点,一般也就只能用网上的开源库实现,目前没时间去做。
想要下载源码的同学可以去下面的网址下载。http://download.csdn.net/detail/caizhegnhao/7665867

2015-01-10
    后面项目要用到发表情的功能,在找参考项目是发现了一个更好的项目,不但有聊天还有表情文字,而且服务器做得比我这个好,建议大家用这个。
    http://blog.csdn.net/jiangliloveyou/article/details/9849775      2015-01-31    最近公司要做即时通讯的项目了,很后悔当初没有继续花时间研究下比较流行的即时通讯协议,如果研究过我就可以承担服务端方面的工作了,因为领导很忙,如果我能提供一个不错的解决方案他们肯定会让我服务端客户端一起做了的。机会总是个有准备的人的。这次之后要尽快研究一个流行的通讯协议,现在即时通讯(或者消息推送)很多项目都需要做,特别是移动互联网兴起以来。不多说了,在网上搜索了一天了解了好几个开源项目框架后得出以下结论    1、xmpp比较重型,如果用于移动客户端开发,会比较占资源,且网络不稳定时表现比较差,但比较成熟,国内资料相对较多,而且有一个很成熟的开源的解决方案了,那就是Openfire,自己百度下,这方面的资料挺充足的。    2、mqtt比较轻型,适用于客户端开发,且资源占用没那么多,这个东西是ibm用来做医疗设备监控的,可以说是为嵌入式系统准备的。但是国内的资料很少,要做好被英语蹂躏的准备。   最后权衡再三我还是确定使用mqtt协议的开源项目来研究,按  这个博文    以及  这个博文 基本配好了环境,这个方案的主要思路是参考eclipsepaho这个开源项目做客户端,用   Apollo作为项目的服务端,apollo的源码可以去官网下载,用svn连接的。apollo配置时要多参考官网的教程,是全英文的,注意apollo的项目和安装包不要放到中文目录下  会出找不到路径的问题。
   暂时写到这里,我认为apollo+eclipsepaho做即时聊天是个不错的解决方案,而且都开源,就是国内资料少些。后面研究得差不多了,再补全博文。
0 0
原创粉丝点击