Java中怎么遠(yuǎn)程控制客戶端,針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。
在敦化等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需求定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷推廣,外貿(mào)網(wǎng)站制作,敦化網(wǎng)站建設(shè)費(fèi)用合理。
在這一個(gè)部分之前先認(rèn)識一個(gè)java類 Runtime 類 這個(gè)類有一個(gè)靜態(tài)方法 getRuntime它獲得一個(gè)對象又可以調(diào)用一個(gè)叫做exec的方法來執(zhí)行命令 演示如下
Runtime ec=Runtime.getRuntime(); ec.exec("命令");
Exec()方法就可以放入你想要運(yùn)行的命令這樣你就可以在機(jī)器上運(yùn)行你的指令了。
說到了這里大概你已經(jīng)知道了怎么讓遠(yuǎn)程計(jì)算機(jī)運(yùn)行你的命令了,過程是這樣的:當(dāng)你建立套接字成功后,通過套接字發(fā)送遠(yuǎn)程命令,二接受端把你發(fā)送給它的消息當(dāng)作命令調(diào)用exec方法運(yùn)行.
注意exec只能運(yùn)行dos命令,如果需要運(yùn)行自己的方法就必須自己編寫,但是作為遠(yuǎn)程控制完全調(diào)用DOS已經(jīng)是無所不能了。
好了 我們把上面的程序改一下吧
先看客戶端吧 好好看注釋
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í)等待客戶端的命令所以要開辟以線程,如果連上了主機(jī)那么我們誰是候命這就是需要開一個(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占用過高或者內(nèi)存占用過大這一句話是必要的*/ } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace();
關(guān)于Java中怎么遠(yuǎn)程控制客戶端問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。