Mario -手机远程控制电脑


最近在通信项目中跟我的小伙伴们做了一个通信小程序,使用socket通信,Android手机作为客户端,PC作为服务器。从而实现互联操作,基本程序界面如下:
      服务器界面:
       Mario -手机远程控制电脑   
     客户端界面:
     
Mario -手机远程控制电脑

客户端通过输入服务器端的IP和初始密码,连接上服务器。在这里有一个难点,一直没有很好的解决,那就是关于网络的问题,当用真机测试的时候,经常会因为网速的问题,导致登录失败,如果有大神有好的建议,希望能得到赐教。关于登录的代码如下:
    //通过内部类创建监听器对象
   OnClickListener listener = new OnClickListener(){
    public void onClick(View v){
    ip=edit_ip.getText().toString().trim();//得到输入的ip地址
    pwd=edit_pwd.getText().toString().trim();//得到输入的密码
    if((!ip.equals(""))){//ip不为空
    Toast.makeText(getApplicationContext(),"ip地址:"+ip+"密码:"+pwd,3).show();//显示ip
    ManageClient.CreateClient(ip,9090);//创建客户端
    msg.SetType(MsgType.LOGIN);
    msg.SetContent(pwd);
    ManageMsg.SendMsg(ManageClient.ops, msg);//将登录消息发送给服务器
    Toast.makeText(getApplicationContext(),"输出流:"+ManageClient.ops+"消息:"+msg.getContent(),3).show();//显示客户端发送对象
    t.start();
          }
    }
    };
   
    Thread t = new Thread(new Runnable(){
public void run() {
msg=ManageMsg.ReadMsg(ManageClient.ips);//读取登录回应消息
if(msg.getType()==MsgType.LOGIN_SUCCESS){//如果登陆成功
     //实现跳转,跳转到客户端主界面
Intent intent = new Intent();
intent.putExtra("msg", ""+msg.getContent());
    intent.setClass(LoginActivity.this,ClientActivity.class);
    startActivity(intent);
    LoginActivity.this.finish();//关闭Login界面
    }
}
   
    });
通过线程来接收登陆回应的消息。
那么现在就说一下 实现的功能吧:
 
Mario -手机远程控制电脑

1.实现了定时关机/重启
   
Mario -手机远程控制电脑

2.实现播放PPT功能
 
Mario -手机远程控制电脑

关于这两个功能的具体实现我会上传代码
接下来还会继续改进,实现更多有用的功能,希望能得到很多好的建议。通过这个小项目,可以很好的理解通信协议,Socket编程,总之,确实有一定的收获。坚持做好做精它吧!

你可能感兴趣的:(IO)