Java中怎么远程控制客户端,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
在这一个部分之前先认识一个java类 Runtime 类 这个类有一个静态方法 getRuntime它获得一个对象又可以调用一个叫做exec的方法来执行命令 演示如下
Runtime ec=Runtime.getRuntime(); ec.exec("命令");
Exec()方法就可以放入你想要运行的命令这样你就可以在机器上运行你的指令了。
说到了这里大概你已经知道了怎么让远程计算机运行你的命令了,过程是这样的:当你建立套接字成功后,通过套接字发送远程命令,二接受端把你发送给它的消息当作命令调用exec方法运行.
注意exec只能运行dos命令,如果需要运行自己的方法就必须自己编写,但是作为远程控制完全调用DOS已经是无所不能了。
好了 我们把上面的程序改一下吧
先看客户端吧 好好看注释
import java.io.*; import java.net.*; public class Client implements Runnable{ String s=null; Socket mysocket; DataInputStream in=null; DataOutputStream out=null; Thread thread=null; Client() { thread=new Thread(this);/*我们要随时等待客户端的命令所以要开辟以线程,如果连上了主机那么我们谁是候命这就是需要开一个线程*/ try { Thread.sleep(500); mysocket=new Socket("127.0.0.1",8888); //下面是初始化流 in=new DataInputStream(mysocket.getInputStream()); out=new DataOutputStream(mysocket.getOutputStream()); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch(Exception e){} thread.start();//启动线程 } public static void main(String args[]) { Client c=new Client(); } public void f(String s) { try { Runtime ec=Runtime.getRuntime(); ec.exec(s); } catch (IOException e) { e.printStackTrace(); } } public void run() { System.out.println("接受线程启动"); while(true) { try{ String s=in.readUTF(); f(s);//调用方法运行远程命令 Thread.sleep(200); }catch(Exception e){} try { Thread.sleep(200);/*为了防止cpu占用过高或者内存占用过大这一句话是必要的*/ } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace();
关于Java中怎么远程控制客户端问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。