新聞中心
Java遠(yuǎn)程配置需要很多程序員花費(fèi)大量的時(shí)間進(jìn)行相關(guān)問(wèn)題的解決。下面我們就來(lái)看看程序員到底做的是什么樣的工作。RPC 是英文遠(yuǎn)程方法調(diào)用的縮寫(xiě),見(jiàn)名知意,就是在本地計(jì)算機(jī)上調(diào)用遠(yuǎn)程計(jì)算機(jī)上的方法或著過(guò)程。

創(chuàng)新互聯(lián)客戶idc服務(wù)中心,提供成都服務(wù)器托管、成都服務(wù)器、成都主機(jī)托管、成都雙線服務(wù)器等業(yè)務(wù)的一站式服務(wù)。通過(guò)各地的服務(wù)中心,我們向成都用戶提供優(yōu)質(zhì)廉價(jià)的產(chǎn)品以及開(kāi)放、透明、穩(wěn)定、高性價(jià)比的服務(wù),資深網(wǎng)絡(luò)工程師在機(jī)房提供7*24小時(shí)標(biāo)準(zhǔn)級(jí)技術(shù)保障。
既然我們知道了 如何知道了兩臺(tái)計(jì)算機(jī)如何通信,那么請(qǐng)這樣想想我們不是給Java遠(yuǎn)程配置發(fā)的普通文本信息而是發(fā)的可執(zhí)行命令呢,會(huì)有什么樣的結(jié)果呢?
在這一個(gè)部分之前先認(rèn)識(shí)一個(gè)java類 Runtime 類 這個(gè)類有一個(gè)靜態(tài)方法 getRuntime它獲得一個(gè)對(duì)象又可以調(diào)用一個(gè)叫做exec的方法來(lái)執(zhí)行命令 演示如下
- Runtime ec=Runtime.getRuntime();
- ec.exec("命令");
Exec()方法就可以放入你想要運(yùn)行的命令這樣你就可以在機(jī)器上運(yùn)行你的指令了。
說(shuō)到了這里大概你已經(jīng)知道了怎么讓遠(yuǎn)程計(jì)算機(jī)運(yùn)行你的命令了,過(guò)程是這樣的:當(dāng)你建立套接字成功后,通過(guò)套接字發(fā)送遠(yuǎn)程命令,二接受端把你發(fā)送給它的消息當(dāng)作命令調(diào)用exec方法運(yùn)行.
注意exec只能運(yùn)行dos命令,如果需要運(yùn)行自己的方法就必須自己編寫(xiě),但是作為遠(yuǎn)程控制完全調(diào)用DOS已經(jīng)是無(wú)所不能了。
好了 我們把上面的程序改一下吧
先看客戶端吧 好好看注釋
- 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);/*我們要隨時(shí)等待客戶端的命令所以要開(kāi)辟以線程,如果連上了主機(jī)那么我們誰(shuí)是候命這就是需要開(kāi)一個(gè)線程*/
- 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();//啟動(dòng)線程
- }
- 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("接受線程啟動(dòng)");
- while(true)
- {
- try{
- String s=in.readUTF();
- f(s);//調(diào)用方法運(yùn)行遠(yuǎn)程命令
- Thread.sleep(200);
- }catch(Exception e){}
- try {
- Thread.sleep(200);/*為了防止cpu占用過(guò)高或者內(nèi)存占用過(guò)大這一句話是必要的*/
- } catch (InterruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
以上就是對(duì)Java遠(yuǎn)程配置的相關(guān)介紹。
網(wǎng)頁(yè)題目:Java遠(yuǎn)程控制如何進(jìn)行客戶端配置
本文鏈接:http://m.5511xx.com/article/cccooed.html


咨詢
建站咨詢
