目前,隨著計算機網絡的廣泛應用,無紙辦公和遠程辦公是人們經常談及的話題,為了實現計算機網絡的這種應用,方便人們工作,本文提出了一種遠程控制系統。為了實現這個系統,首先從系統所要實現的功能著手,設計出該系統的體系結構,并詳細說明體系結構中各模塊的主要功能;接著從通信效率和網絡環境方面考慮,設計出適合于該系統的通信協議;最后以流程圖的方式詳細說明系統軟件的實現過程。 1 引言 隨著計算機網絡的飛速發展,人們可以很方便地從Internet上獲取和自己工作生活密切相關 的信息,世界也真正變成一個地球村,我們可以和世界上其他任何一個人通過計算機網絡進行溝通,信息資源達到了高度的共享。從這一點得到啟發,希望能夠設計一個遠程控制系統,通過他可以在家里控制辦公室里的計算機。如果你是軟件開發商,你的員工可以通過他在辦公室里遠程為客戶配置系統、對產品進行維護,如果客戶向你報告軟件產品出現問題你可以遠程對產品進行調試,最終解決問題。這樣員工就不會因長期的勞苦奔波而抱怨,用戶也不會因為你不能及時解決產品的問題而和你討價還價,當然也為公司節約了人力和財力。下面詳述該遠程控制系統是如何實現的。 2 遠程控制系統的體系結構設計 該遠程控制系統由服務器端和客戶端2個部分組成,客戶端可以通過鼠標和鍵盤控制服務器端的計算機,同時還可以相互傳輸文件。其體系結構如圖1所示,主要由安全性校驗、屏幕控制、鼠標控制、鍵盤控制、命令控制、文件傳輸、端口設置等6個模塊組成。下面具體說明各個模塊的功能。 (1)安全性校驗模塊 從系統安全性方面考慮,目的是讓客戶端和服務器端建立可信聯接,客戶端要想完全控制服務器端的計算機,必須先通過服務器的驗證取得服務器的信任。這樣可以避免一些不懷好意的人通過客戶端竊取服務器端計算機中有用的資料。 (2)屏幕控制模塊 可以讓客戶端用戶實時監控服務器端計算機的運行狀態。客戶端以一定頻率向服務器發送請求,服務器響應客戶端請求將自己的屏幕拷貝下來并將這些信息發送給客戶端,客戶端接收到這些信息之后以圖形的形式顯示出來,為鼠標和鍵盤控制提供圖形化接口。 (3)鼠標控制模塊 可以讓客戶端用戶通過鼠標控制服務器端的計算機。其實現過程是客戶端軟件先捕捉鼠標在圖形化接口(屏幕控制模塊所提供的)中的動作,再將這些信息發送到服務器端,最后服務器端的服務程序向操作系統發送這個動作的消息,這樣就如同在服務器端的操作系統上進行了相應的鼠標操作。如果動作是在“Microsoft Word”圖標上雙擊,則遠程控制系統服務器端的“Microsoft Word”被打開。 (4)鍵盤控制模塊 可以讓客戶端用戶通過鍵盤控制服務器端計算機的輸入,其實現過程是客戶端軟件先捕捉鍵盤在圖形化接口(屏幕控制模塊所提供的)中的動作,再將這些信息發送到服務器端,服務器端的服務程序向操作系統發送這個動作的消息,這樣就如同在服務器端的操作系統上進行了相應的鍵盤輸入。如果服務器端的“Microsoft Word”為當前的活動窗口,則客戶端的鍵盤操作就如同有人在服務器端利用“Microsoft Word”進行文字編輯一樣。屏幕控制、鍵盤控制和鼠標控制模塊是在網絡狀況較好的情況下才會有較快的響應速度,如果網絡狀況不好將采用命令控制模塊進行遠程控制。這種控制方式有較多的限制,需要根據具體的需求進行設計。 (5)文件傳輸模塊 可以方便客戶端和服務器端進行文件傳輸,他由文件上傳和文件下載2個部分組成。文件上傳可以把客戶端的文件上傳到服務器端的計算機上;文件下載可以把服務器端的文件下載到客戶端的計算機上。 (6)端口設置模塊 配置雙方進行通信的端口。 3 遠程控制系統軟件的實現 3.1通信協議的設計 3.1.1系統控制協議 當客戶端需要向服務器端發送控制信息時將采用如下的格式: 其中信息格式中各參數的值和含義如表1所示。 3.1.2圖片傳輸協議 圖片信息的傳輸采用Byte的方式,其格式如圖2所示。 若控制信息轉換成字符串后為“0123456789”則表示圖片傳輸開始,長度轉換成數字后表示圖片信息總長度;若控制信息轉換成字符串后為“9876543210”則表示圖片傳輸結束;否則表示傳輸的為圖片內容信息,長度轉換成數字后表示本次發送信息的長度,后面為實際內容。 3.1.3文件傳輸協議 文件傳輸也采用Byte方式,其傳輸協議由以下幾步組成: (1)如果是文件上傳則發送信息轉換成字符串后為“#_CMDFileUp_#”;如果是文件下載則發送信息轉換成字符串后為“#_CMDFileDown_#”。 (2)發送源文件名,轉換后的字符串為“#_SourceFileName_#”。 (3)發送目的文件名,轉換后的字符串為“#_DestinationFileName_#”。 (4)發送文件開始標志,轉換后的字符串為“#_Start_#”。 (5)發送文件內容,直到發送完畢。 (6)發送文件結束標志,轉換后的字符串為“#_End_#”。 3.2服務器端軟件的實現 服務器端軟件的實現過程是當客戶端要和服務器建立連接時,如果合法則允許建立連接,如果不合法則拒絕建立連接。建立連接后服務器啟動服務,監聽客戶端發送過來的控制信息,然后和客戶端協作完成相應的任務。如圖4所示。 3.3客戶端軟件的實現 客戶端軟件的實現過程是首先向服務器端發送身份信息,請求和服務器建立連接,如果通過驗證則定時發送屏幕控制信息,同時接受用戶的輸入并把其轉換成相應的控制信息,然后發送到服務器。如果請求被服務器拒絕則退出應用程序。 4 結語 開發這種系統具有實際應用價值,用戶可以通過他進行遠程辦公,軟件公司可以通過他對自己的產品進行遠程配置以及在線診斷和維護,為公司節約人力、財力和物力。 |