一種遠(yuǎn)程控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘 要:目前,隨著計(jì)算機(jī)網(wǎng)絡(luò)的廣泛應(yīng)用,無紙辦公和遠(yuǎn)程辦公是人們經(jīng)常談及的話題,為了實(shí)現(xiàn)計(jì)算機(jī)網(wǎng)絡(luò)的這種應(yīng)用,方便人們工作,本文提出了一種遠(yuǎn)程控制系統(tǒng)。為了實(shí)現(xiàn)這個(gè)系統(tǒng),首先從系統(tǒng)所要實(shí)現(xiàn)的功能著手,設(shè)計(jì)出該系統(tǒng)的體系結(jié)構(gòu),并詳細(xì)說明體系結(jié)構(gòu)中各模塊的主要功能;接著從通信效率和網(wǎng)絡(luò)環(huán)境方面考慮,設(shè)計(jì)出適合于該系統(tǒng)的通信協(xié)議;最后以流程圖的方式詳細(xì)說明系統(tǒng)軟件的實(shí)現(xiàn)過程。
關(guān)鍵詞:遠(yuǎn)程控制;軟件;系統(tǒng)結(jié)構(gòu);通信協(xié)議
1引言
隨著計(jì)算機(jī)網(wǎng)絡(luò)的飛速發(fā)展,人們可以很方便地從Internet上獲取和自己工作生活密切相關(guān) 的信息,世界也真正變成一個(gè)地球村,我們可以和世界上其他任何一個(gè)人通過計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行溝通,信息資源達(dá)到了高度的共享。從這一點(diǎn)得到啟發(fā),希望能夠設(shè)計(jì)一個(gè)遠(yuǎn)程控制系統(tǒng),通過他可以在家里控制辦公室里的計(jì)算機(jī)。如果你是軟件開發(fā)商,你的員工可以通過他在辦公室里遠(yuǎn)程為客戶配置系統(tǒng)、對產(chǎn)品進(jìn)行維護(hù),如果客戶向你報(bào)告軟件產(chǎn)品出現(xiàn)問題你可以遠(yuǎn)程對產(chǎn)品進(jìn)行調(diào)試,最終解決問題。這樣員工就不會因長期的勞苦奔波而抱怨,用戶也不會因?yàn)槟悴荒芗皶r(shí)解決產(chǎn)品的問題而和你討價(jià)還價(jià),當(dāng)然也為公司節(jié)約了人力和財(cái)力。下面詳述該遠(yuǎn)程控制系統(tǒng)是如何實(shí)現(xiàn)的。
2遠(yuǎn)程控制系統(tǒng)的體系結(jié)構(gòu)設(shè)計(jì)
該遠(yuǎn)程控制系統(tǒng)由服務(wù)器端和客戶端2個(gè)部分組成,客戶端可以通過鼠標(biāo)和鍵盤控制服務(wù)器端的計(jì)算機(jī),同時(shí)還可以相互傳輸文件。其體系結(jié)構(gòu)如圖1所示,主要由安全性校驗(yàn)、屏幕控制、鼠標(biāo)控制、鍵盤控制、命令控制、文件傳輸、端口設(shè)置等6個(gè)模塊組成。下面具體說明各個(gè)模塊的功能。
(1)安全性校驗(yàn)?zāi)K
從系統(tǒng)安全性方面考慮,目的是讓客戶端和服務(wù)器端建立可信聯(lián)接,客戶端要想完全控制服務(wù)器端的計(jì)算機(jī),必須先通過服務(wù)器的驗(yàn)證取得服務(wù)器的信任。這樣可以避免一些不懷好意的人通過客戶端竊取服務(wù)器端計(jì)算機(jī)中有用的資料。
(2)屏幕控制模塊
可以讓客戶端用戶實(shí)時(shí)監(jiān)控服務(wù)器端計(jì)算機(jī)的運(yùn)行狀態(tài)??蛻舳艘砸欢l率向服務(wù)器發(fā)送請求,服務(wù)器響應(yīng)客戶端請求將自己的屏幕拷貝下來并將這些信息發(fā)送給客戶端,客戶端接收到這些信息之后以圖形的形式顯示出來,為鼠標(biāo)和鍵盤控制提供圖形化接口。
(3)鼠標(biāo)控制模塊
可以讓客戶端用戶通過鼠標(biāo)控制服務(wù)器端的計(jì)算機(jī)。其實(shí)現(xiàn)過程是客戶端軟件先捕捉鼠標(biāo)在圖形化接口(屏幕控制模塊所提供的)中的動作,再將這些信息發(fā)送到服務(wù)器端,最后服務(wù)器端的服務(wù)程序向操作系統(tǒng)發(fā)送這個(gè)動作的消息,這樣就如同在服務(wù)器端的操作系統(tǒng)上進(jìn)行了相應(yīng)的鼠標(biāo)操作。如果動作是在“Microsoft Word”圖標(biāo)上雙擊,則遠(yuǎn)程控制系統(tǒng)服務(wù)器端的“Microsoft Word”被打開。
(4)鍵盤控制模塊
可以讓客戶端用戶通過鍵盤控制服務(wù)器端計(jì)算機(jī)的輸入,其實(shí)現(xiàn)過程是客戶端軟件先捕捉鍵盤在圖形化接口(屏幕控制模塊所提供的)中的動作,再將這些信息發(fā)送到服務(wù)器端,服務(wù)器端的服務(wù)程序向操作系統(tǒng)發(fā)送這個(gè)動作的消息,這樣就如同在服務(wù)器端的操作系統(tǒng)上進(jìn)行了相應(yīng)的鍵盤輸入。如果服務(wù)器端的“Microsoft Word”為當(dāng)前的活動窗口,則客戶端的鍵盤操作就如同有人在服務(wù)器端利用“Microsoft Word”進(jìn)行文字編輯一樣。屏幕控制、鍵盤控制和鼠標(biāo)控制模塊是在網(wǎng)絡(luò)狀況較好的情況下才會有較快的響應(yīng)速度,如果網(wǎng)絡(luò)狀況不好將采用命令控制模塊進(jìn)行遠(yuǎn)程控制。這種控制方式有較多的限制,需要根據(jù)具體的需求進(jìn)行設(shè)計(jì)。
(5)文件傳輸模塊
可以方便客戶端和服務(wù)器端進(jìn)行文件傳輸,他由文件上傳和文件下載2個(gè)部分組成。文件上傳可以把客戶端的文件上傳到服務(wù)器端的計(jì)算機(jī)上;文件下載可以把服務(wù)器端的文件下載到客戶端的計(jì)算機(jī)上。
(6)端口設(shè)置模塊
配置雙方進(jìn)行通信的端口。?
3遠(yuǎn)程控制系統(tǒng)軟件的實(shí)現(xiàn)
3.1通信協(xié)議的設(shè)計(jì)
3.1.1系統(tǒng)控制協(xié)議
當(dāng)客戶端需要向服務(wù)器端發(fā)送控制信息時(shí)將采用如下的格式:
其中信息格式中各參數(shù)的值和含義如表1所示。
3.1.2圖片傳輸協(xié)議
圖片信息的傳輸采用Byte的方式,其格式如圖2所示。
?
若控制信息轉(zhuǎn)換成字符串后為“0123456789”則表示圖片傳輸開始,長度轉(zhuǎn)換成數(shù)字后表示圖片信息總長度;若控制信息轉(zhuǎn)換成字符串后為“9876543210”則表示圖片傳輸結(jié)束;否則表示傳輸?shù)臑閳D片內(nèi)容信息,長度轉(zhuǎn)換成數(shù)字后表示本次發(fā)送信息的長度,后面為實(shí)際內(nèi)容。
3.1.3文件傳輸協(xié)議
文件傳輸也采用Byte方式,其傳輸協(xié)議由以下幾步組成:
(1)如果是文件上傳則發(fā)送信息轉(zhuǎn)換成字符串后為“#_CMDFileUp_#”;如果是文件下載則發(fā)送信息轉(zhuǎn)換成字符串后為“#_CMDFileDown_#”。
(2)發(fā)送源文件名,轉(zhuǎn)換后的字符串為“#_SourceFileName_#”。
(3)發(fā)送目的文件名,轉(zhuǎn)換后的字符串為“#_DestinationFileName_#”。
(4)發(fā)送文件開始標(biāo)志,轉(zhuǎn)換后的字符串為“#_Start_#”。
(5)發(fā)送文件內(nèi)容,直到發(fā)送完畢。
(6)發(fā)送文件結(jié)束標(biāo)志,轉(zhuǎn)換后的字符串為“#_End_#”。
3.2服務(wù)器端軟件的實(shí)現(xiàn)
服務(wù)器端軟件的實(shí)現(xiàn)過程是當(dāng)客戶端要和服務(wù)器建立連接時(shí),如果合法則允許建立連接,如果不合法則拒絕建立連接。建立連接后服務(wù)器啟動服務(wù),監(jiān)聽客戶端發(fā)送過來的控制信息,然后和客戶端協(xié)作完成相應(yīng)的任務(wù)。如圖4所示。
?
3.3客戶端軟件的實(shí)現(xiàn)
客戶端軟件的實(shí)現(xiàn)過程是首先向服務(wù)器端發(fā)送身份信息,請求和服務(wù)器建立連接,如果通過驗(yàn)證則定時(shí)發(fā)送屏幕控制信息,同時(shí)接受用戶的輸入并把其轉(zhuǎn)換成相應(yīng)的控制信息,然后發(fā)送到服務(wù)器。如果請求被服務(wù)器拒絕則退出應(yīng)用程序。
4結(jié)語
開發(fā)這種系統(tǒng)具有實(shí)際應(yīng)用價(jià)值,用戶可以通過他進(jìn)行遠(yuǎn)程辦公,軟件公司可以通過他對自己的產(chǎn)品進(jìn)行遠(yuǎn)程配置以及在線診斷和維護(hù),為公司節(jié)約人力、財(cái)力和物力。
參考文獻(xiàn)
[1][美].BrunoR Preiss.數(shù)據(jù)結(jié)構(gòu)與算法面向?qū)ο蟮腃+ +設(shè)計(jì)[M].胡廣斌譯.北京:電子工業(yè)出版社,2003.
[2]Alan Shalloway,James R Trott.Design Patterns Explained[M].北京:中國電力出版社,2003.
[3]楊連賀.MIS人機(jī)界面的設(shè)計(jì)原則.http://www.ergocn.com.
[4]徐振航.VisualBasic中用戶界面的設(shè)計(jì)原則. http://www.piecust.jsol.net.2001
[5]楊玉琦.如何創(chuàng)建友好的用戶界面[J].微電腦世界周刊. http://www.china byte.com?
[6]張健姿.圖形用戶界面設(shè)計(jì)2001. http://www.plworld.com.cn.
[7]郝琪,羅衛(wèi)平,彭炎午.先進(jìn)制造中人機(jī)協(xié)同的重要手段—自適應(yīng)人機(jī)接口[J].中國機(jī)械工程,2001.
[8]Corbett M. Designing Hybrid Automated Manufacturing Sy stems: A European Perspective. IEEE International Conference on System, Man and Cybe rnetics San Antonio, Texas,Piscataway, NJ, USA: Institute of Electrical and El ectronics Engineers, Inc,1994:167-172.
[9]杜清秀.CIMS與人機(jī)交互[J].計(jì)算機(jī)工程與應(yīng)用, 1994,30(7,8):53-56.
[10]程景云,倪亦泉.人機(jī)界面設(shè)計(jì)與開發(fā)工具[M].北京:電子工業(yè)出版社,1994.
[11]李新.軟件工程環(huán)境用戶接口的形式描述與自動生成[J].計(jì)算機(jī)學(xué)報(bào),1 1(10),557-585,1988.
[12]程景云.人機(jī)界面的生成管理及其漢字支撐環(huán)境[J].中國計(jì)算機(jī)報(bào),199 1.