远程控制实现原理
2016-05-06 14:51:16 0 举报
远程控制数据流图
作者其他创作
大纲/内容
受控制端
demo中的ClientActiviy
brManager = new BRManager(); brManager.getServerList(new IBRCallBack() { @Override public void onReceive(BRMsg brMsg) { updateUI(brMsg); } });
serverManager = new ServerManager(getApplicationContext());接收控制指令,并解析,并发送给系统模拟指令
事件如果是按键事件,则直接为{“sendKeyDownUpSync”,keyCode}
ServerService
2.建立事件传输的udp连接
广播ip的信息为 public int msgType = 0; //0为下线,1为在线。2,内容传输 public String ip = \"\"; public String data = \"\";
1.事件的基本的功能,主要使用几个manager类来实现。ServerManager对应ClientManager和BRManager
ip广播的接受者,接收主机的ip信息(BRMsg)
主机建立socket守护,截屏,后将数据通过socket发送给客户端 ServerSocket mServer = null;Socket socket;while (true & mRunning) { //接受来自客户端的请求。 socket = mServer.accept(); if (mRunning) videoThread();}
控制端
ServerManager
demo中的ServerService
ClientManager
3.视频数据的传输
事件如果为触摸事件则如下{”sendPointerSync“, [{\"getDownTime\
demo中的ServerListActivity
ClientActivity
2. 视频传输这块,直接用的ServerSocket对应的 ClientAcitivity中的Socket
BrManager
:主机这边,不断广播自己的ip出去.广播分为两种,一个是普通广播,另一种是多播,为了避免某些路由器不兼容,提高广播ip的到达率。destAddress = new DatagramSocket(brport);multiSocket = new MulticastSocket(mutiport);
1.广播ip与接收ip
0 条评论
下一页