重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
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中怎么远程控制客户端问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。