当前位置: 代码迷 >> Android >> 大牛请进,Android音视频聊天各种实现方式有关问题
  详细解决方案

大牛请进,Android音视频聊天各种实现方式有关问题

热度:80   发布时间:2016-04-28 01:19:22.0
大牛请进,Android音视频聊天各种实现方式问题

      最近项目需要,要完成一款局域网通信软件,主要实现Android端的文字、语音、视频聊天功能,并且实现服务器,服务器端能实现客户端上下线监控以及资源推送等简单功能,但是服务器端现在还没人做,想找找有没有现成的,减少工作量。 
      这两天查了一些资料看主流的实现方式有以下几种:
      1.  xmpp+openfire方式,客户端调用asmack类库,这种方式比较成熟,尤其服务器端已有比较完整的demo,但是 所有的相关资料都是文字聊天,没有音视频,又有的说xmpp视频传输支持的不好,openfire冗余大的问题。
      2、tcp通信,通过调用Android提供的相关tcp,udp网络传输api实现,这种实现方式也很普遍,但就是得从最开始实现。
      3、jingle:据说gtalk就是在方案一的基础上用jingle实现了视频聊天,不过资料特别少。
      4、jitsi,貌似是xmpp+sip, 这个git上有比较完整的源程序,但是感觉好复杂,研究透它实现可行么?
      5、sip协议,可以用于视频通信

      我初步想通过xmpp和android tcp api组合完成,xmpp实现与服务器的交互和资源推送,tcp实现音视频聊天,不知道可行么,这两种协议在一块工作可以么? 还是直接研究下jitsi的实现更靠谱一些。

      这方面知识浅薄,烦请有相关这方面研究的大神指点一二,那种实现方式比较可取!!谢谢谢谢!
------解决思路----------------------
文字聊天推送用xmpp+openfire是够了,
语音要单独弄个服务器 加密和压缩 个人觉得都要用JNI  C/C++库去处理提高性能,你可以用Apache MINA做为TCP基础框架。
像图片发送都可以用单独的服务器去处理,独立处理。

楼主的项目就相当于一个小型的微信系统了。 看你的用户需求和用户量。基本都是TCP Socket通信,
部分可用HTTP,比如用户登录注册,版本更新等。
  相关解决方案