当前位置: 代码迷 >> Android >> 两台Android装置之间的通信
  详细解决方案

两台Android装置之间的通信

热度:91   发布时间:2016-04-28 01:49:31.0
两台Android设备之间的通信
各位好!
现在有个问题1想向大家请教下:
我现在要实现这样的功能:有两台Android操作系统的设备A和B,我想A作为客户端,B作为服务端,A设备可以启动B设备的摄像头功能(通过wifi和通过3G网络两种方式),并且可以在A设备中显示B设备的摄像头捕捉的视频内容(不需要拍照),同时可以启动两台设备之间的语音通话功能。不知我描述得清不清楚,简单点讲就是基于Android系统的设备,一台设备可以控制另一台设备并能相互通信,有哪些朋友做过这方面的项目望指点一下或提供一下思路,谢谢了!
------解决思路----------------------
B设备设置广播监听可以监听到广播之后实现如上的功能,但是你这个广播信号量准备设置为什么呢?
------解决思路----------------------
A跟B之间可以用UDP心跳包保持联系,但是如果两台机器不在一个局域网下比较难,因为手机上网的IP是经常在变的,你可能需要第三方来让A和B知道对方的IP。
A想跟B通话的时候就发一个UDP的包给B,B收到一条以后就启动TCP server,同时回一个UDP的包给A。A收到回复的包以后就把自己设成TCP client,连上server,这个时候就可以传输数据了。
单向视频加双向音频可以用FFMPEG来实现,但是这样网络和CPU的负担都比较重。建议你把视频硬压缩以后再通过TCP传输,A收到数据硬解压以后显示出来。其实你在A上获取到了B摄像头的数据,就可以在A上实现拍照和录像。
------解决思路----------------------
我尝试过在Android设备上外网IP监听,这是不行的,在127.0.0.1上起服务,另一设备通过外网也连不上。
------解决思路----------------------
引用:
我尝试过在Android设备上外网IP监听,这是不行的,在127.0.0.1上起服务,另一设备通过外网也连不上。

手机的IP和端口时刻在变的,这样做肯定不行,一定要有个服务器。
  相关解决方案