摘 要:實現局域網遠程控制的最常用方法是使用遠程控制軟件。服務器端程序(Server)和客戶端程序(Client)是遠程控制軟件的主要構成部分,由客戶端將信號發送到服務器端來實現對被控制端電腦的遠程控制,而利用java語言編寫的控制軟件具有廣泛的實用性,因此本文針對基于java語言的控制軟件實 現局域網遠程控制進行研究和探討。
關鍵詞:遠程控制;PcAnywhere;VNC;java;客戶機;服務器
中圖分類號:TP393.1 文獻標識碼:A 文章編號:1672-3791(2011)02(c)-0000-00
通過一些軟件(如PcAnywhere,VNC等)可以實現遠程控制功能,通過共享桌面對遠程主機做一些想執行的操作,如同控制本地的計算機一樣。通過遠程控制的技術可以輕松對遠程電腦進行維護、監控與排除故障,這種技術具有很好的應用和開發前景??缙脚_性是java語言的顯著特點,因此通過Java語言來編寫的遠程控制軟件實用性更加廣泛。本文中,將介紹遠程控制的原理、實現局域網遠程控制的常用方法以及如何利用Java實現局域網遠程控制。
1 遠程控制的原理
遠程控制的原理是:首先控制端和被控制端均連接到網絡,遠程被控制端接收控制端發送過來的身份驗證以及連接請求,倘若能夠通過驗證,便可以實現連接,同時將驗證通過和已建立連接的信息發送到控制端??刂贫司涂梢酝ㄟ^控制端程序或者將要執行的指令發送到遠程主機,而被控端則執行指令,把鼠標、鍵盤、刷新屏幕發送到控制端程序,經過控制端處理后把信息顯示給用戶看,這樣,用戶對遠程主機的操作就像在本地計算機上操作一樣。通過驗證以后,兩地計算機才能連接在一起,并最終實現遠程控制。
遠程控制軟件常用的模式的C/S模式。在使用控制軟件前,先將控制端程序安裝在控制端主機上,把被控制端程序安裝到被控端主機上。這個控制過程是:首先在控制端執行控制端程序,建立遠程服務,然后借助遠程服務,發送遠程控制命令,控制被控端主機,通過遠程控制輕松操作遠程主機上的所有應用程序,這種遠程控制方式是基于遠程服務的。
2 局域網遠程控制的常用方法
局域網遠程控制可謂方法眾多,除了系統自帶遠程控制功能外,市場上有很多利用java編寫的遠程控制軟件,通過他們可以輕松控制局域網內的任何一臺電腦。局域網遠程控制的實現主要有如下方法:
2.1 系統自帶功能實現遠程控制
Windows XP系統自身具備遠程控制的功能,稱為“遠程協助”,操作十分簡單。用戶通過遠程協助功能可實現遠程控制,具體做法是通過MSN Messenger發送協助請求,Messenger中的聯系人在接到請求后,倘若聯系人同意請求,用戶與聯系人便可以建立連接,實現遠程協助,在此過程中,聯系人所使用的計算機完全由用戶控制,通過遠程協助功能實現遠程控制,用戶可對受控端計算機進行任何操作。
2.2 PcAnywhere
通過PcAnywhere工具實現局域網的遠程控制,這款不錯的工具可使兩地計算機建立連接,并協同工作。PcAnywhere的使用方法十分簡單,在控制端與被控制端計算機上分別安裝好該軟件,便可輕松實現遠程控制。
2.3 VNC
VNC (Virtual Network Computing)是虛擬網絡計算機的縮寫,由ATT的歐洲研究實驗室開發而成的遠程控制軟件,至今仍被廣泛使用,高效使用是其最大的特點,具有較強的遠程控制能力,主要基于Linux和UNIX操作系統,它的實用性超過了任何一款基于MAC和Windows的遠程控制軟件。
3通過Java實現局域網遠程控制
通過PcAnywhere和VNC軟件都可以很容易的實現局域網遠程控制,這兩款軟件都是利用Java編寫的。JAVA語言具有良好的跨平臺性,用其編寫的軟件也是具有“一次編寫,各處運行”的特點。因此,利用Java 實現遠程控制有很廣的實用性。
3.1 總體設計
遠程控制的交互過程是:首先,屏幕圖像由被控制端程序發送到控制端,控制端向被控制端發送鍵盤和鼠標操作指令,然后在被控制端執行操作命令。被控制端發送出來的屏幕圖像,控制端程序需要不斷的接收,然后在控制端中顯示出來,捕捉到控制端的鍵盤和鼠標時間,發送到被控制端。雙方整個交互過程的模型(圖3.1)
3.2程序設計實現要點
利用Java實現局域網遠程控制,在進行程序設計時需要注意的要點有:鼠標和鍵盤事件的獲取及操作模擬、屏幕圖象的壓縮/解壓縮、屏幕圖象及指令的傳輸等。
3.3 Java Robot對象實現遠程服務器的控制
(1)實現原理
首先,通過Robot截取被控端桌面圖像,并利用socket通信發送到控制端。
其次,主控端顯示被控端桌面,并且把基于被控端圖像上的鍵盤,鼠標事件通過socket通信傳給被控端。
最后,被控端響應主控端的鼠標鍵盤事件。
(2)實現過程
主控端和被控端通過UDP控端向主控端傳遞圖像、圖像顯示,鼠標,鍵盤監聽、被控端接收,響應鍵盤鼠標事件等通過編寫java代碼來實現。
在實現過程中,需要頻繁地、不間斷地獲取、壓縮和傳輸被控制端屏幕圖像以及在控制端接收、解壓縮和顯示屏幕圖像,因此,可以通過多線程技術來分別進行處理。這里就不做詳解了。
4結束語
通過這次對局域網遠程控制實現過程的研究,深入闡明了遠程控制的原理,通過控制軟件實現局域網遠程控制的過程,以及利用java實現局域網遠程控制。與其他語言編寫的控制軟件相比,用java語言編寫的控制軟件具有“一次編寫,各處運行”的特點,因此具有更廣的使用性。這次研究也存在不足之處,對利用java實現局域網遠程控制過程論述不夠全面,以后還有待進一步研究。
參考文獻:
[1]常永昌.一種遠程控制軟件的設計與實現[J].計算機應用.2003,23(3):127-128,131.
[2]張國華.網友電腦遠程控制[J].網友世界合訂本.2004,24(12):277-282.
[3]曾剛,黃永友.前沿網絡應用[M].北京:希望電子出版社.2003,187-192.
[4]張棟,周進,黃成.Linux服務器配置與管理[M].北京:人民郵電出版社.2009,313-321.
[5]李晨熙,魯鐵華.java語言入門[M].北京:中國電力出版社.2001,3-4.