Java远程配置需要很多程序员花费大量的时间进行相关问题的解决。下面我们就来看看程序员到底做的是什么样的工作。RPC 是英文远程方法调用的缩写,见名知意,就是在本地计算机上调用远程计算机上的方法或着过程。
创新互联客户idc服务中心,提供成都服务器托管、成都服务器、成都主机托管、成都双线服务器等业务的一站式服务。通过各地的服务中心,我们向成都用户提供优质廉价的产品以及开放、透明、稳定、高性价比的服务,资深网络工程师在机房提供7*24小时标准级技术保障。
既然我们知道了 如何知道了两台计算机如何通信,那么请这样想想我们不是给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远程配置的相关介绍。
文章名称:Java远程控制如何进行客户端配置
本文路径:http://www.mswzjz.cn/qtweb/news12/179462.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能