目前,隨著計算機網(wǎng)絡的廣泛應用,無紙辦公和遠程辦公是人們經(jīng)常談及的話題,為了實現(xiàn)計算機網(wǎng)絡的這種應用,方便人們工作,本文提出了一種遠程控制系統(tǒng)。為了實現(xiàn)這個系統(tǒng),首先從系統(tǒng)所要實現(xiàn)的功能著手,設計出該系統(tǒng)的體系結(jié)構(gòu),并詳細說明體系結(jié)構(gòu)中各模塊的主要功能;接著從通信效率和網(wǎng)絡環(huán)境方面考慮,設計出適合于該系統(tǒng)的通信協(xié)議;最后以流程圖的方式詳細說明系統(tǒng)軟件的實現(xiàn)過程。
1 、引言
隨著計算機網(wǎng)絡的飛速發(fā)展,人們可以很方便地從Internet上獲取和自己工作生活密切相關 的信息,世界也真正變成一個地球村,我們可以和世界上其他任何一個人通過計算機網(wǎng)絡進行溝通,信息資源達到了高度的共享。從這一點得到啟發(fā),希望能夠設計一個遠程控制系統(tǒng),通過他可以在家里控制辦公室里的計算機。如果你是軟件開發(fā)商,你的員工可以通過他在辦公室里遠程為客戶配置系統(tǒng)、對產(chǎn)品進行維護,如果客戶向你報告軟件產(chǎn)品出現(xiàn)問題你可以遠程對產(chǎn)品進行調(diào)試,最終解決問題。這樣員工就不會因長期的勞苦奔波而抱怨,用戶也不會因為你不能及時解決產(chǎn)品的問題而和你討價還價,當然也為公司節(jié)約了人力和財力。下面詳述該遠程控制系統(tǒng)是如何實現(xiàn)的。
2 、遠程控制系統(tǒng)的體系結(jié)構(gòu)設計
該遠程控制系統(tǒng)由服務器端和客戶端2個部分組成,客戶端可以通過鼠標和鍵盤控制服務器端的計算機,同時還可以相互傳輸文件。其體系結(jié)構(gòu)如圖1所示,主要由安全性校驗、屏幕控制、鼠標控制、鍵盤控制、命令控制、文件傳輸、端口設置等6個模塊組成。下面具體說明各個模塊的功能。
(1)安全性校驗模塊
從系統(tǒng)安全性方面考慮,目的是讓客戶端和服務器端建立可信聯(lián)接,客戶端要想完全控制服務器端的計算機,必須先通過服務器的驗證取得服務器的信任。這樣可以避免一些不懷好意的人通過客戶端竊取服務器端計算機中有用的資料。
(2)屏幕控制模塊
可以讓客戶端用戶實時監(jiān)控服務器端計算機的運行狀態(tài)??蛻舳艘砸欢l率向服務器發(fā)送請求,服務器響應客戶端請求將自己的屏幕拷貝下來并將這些信息發(fā)送給客戶端,客戶端接收到這些信息之后以圖形的形式顯示出來,為鼠標和鍵盤控制提供圖形化接口。
(3)鼠標控制模塊
可以讓客戶端用戶通過鼠標控制服務器端的計算機。其實現(xiàn)過程是客戶端軟件先捕捉鼠標在圖形化接口(屏幕控制模塊所提供的)中的動作,再將這些信息發(fā)送到服務器端,最后服務器端的服務程序向操作系統(tǒng)發(fā)送這個動作的消息,這樣就如同在服務器端的操作系統(tǒng)上進行了相應的鼠標操作。如果動作是在“Microsoft Word”圖標上雙擊,則遠程控制系統(tǒng)服務器端的“Microsoft Word”被打開。
(4)鍵盤控制模塊
可以讓客戶端用戶通過鍵盤控制服務器端計算機的輸入,其實現(xiàn)過程是客戶端軟件先捕捉鍵盤在圖形化接口(屏幕控制模塊所提供的)中的動作,再將這些信息發(fā)送到服務器端,服務器端的服務程序向操作系統(tǒng)發(fā)送這個動作的消息,這樣就如同在服務器端的操作系統(tǒng)上進行了相應的鍵盤輸入。如果服務器端的“Microsoft Word”為當前的活動窗口,則客戶端的鍵盤操作就如同有人在服務器端利用“Microsoft Word”進行文字編輯一樣。屏幕控制、鍵盤控制和鼠標控制模塊是在網(wǎng)絡狀況較好的情況下才會有較快的響應速度,如果網(wǎng)絡狀況不好將采用命令控制模塊進行遠程控制。這種控制方式有較多的限制,需要根據(jù)具體的需求進行設計。
(5)文件傳輸模塊
可以方便客戶端和服務器端進行文件傳輸,他由文件上傳和文件下載2個部分組成。文件上傳可以把客戶端的文件上傳到服務器端的計算機上;文件下載可以把服務器端的文件下載到客戶端的計算機上。
(6)端口設置模塊
配置雙方進行通信的端口。
3 、遠程控制系統(tǒng)軟件的實現(xiàn)
3.1通信協(xié)議的設計
3.1.1系統(tǒng)控制協(xié)議
當客戶端需要向服務器端發(fā)送控制信息時將采用如下的格式:
若控制信息轉(zhuǎn)換成字符串后為“0123456789”則表示圖片傳輸開始,長度轉(zhuǎn)換成數(shù)字后表示圖片信息總長度;若控制信息轉(zhuǎn)換成字符串后為“9876543210”則表示圖片傳輸結(jié)束;否則表示傳輸?shù)臑閳D片內(nèi)容信息,長度轉(zhuǎn)換成數(shù)字后表示本次發(fā)送信息的長度,后面為實際內(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ā)送文件開始標志,轉(zhuǎn)換后的字符串為“#_Start_#”。
(5)發(fā)送文件內(nèi)容,直到發(fā)送完畢。
(6)發(fā)送文件結(jié)束標志,轉(zhuǎn)換后的字符串為“#_End_#”。
3.2服務器端軟件的實現(xiàn)
服務器端軟件的實現(xiàn)過程是當客戶端要和服務器建立連接時,如果合法則允許建立連接,如果不合法則拒絕建立連接。建立連接后服務器啟動服務,監(jiān)聽客戶端發(fā)送過來的控制信息,然后和客戶端協(xié)作完成相應的任務。如圖4所示。
3.3客戶端軟件的實現(xiàn)
客戶端軟件的實現(xiàn)過程是首先向服務器端發(fā)送身份信息,請求和服務器建立連接,如果通過驗證則定時發(fā)送屏幕控制信息,同時接受用戶的輸入并把其轉(zhuǎn)換成相應的控制信息,然后發(fā)送到服務器。如果請求被服務器拒絕則退出應用程序。
4 、結(jié)語
開發(fā)這種系統(tǒng)具有實際應用價值,用戶可以通過他進行遠程辦公,軟件公司可以通過他對自己的產(chǎn)品進行遠程配置以及在線診斷和維護,為公司節(jié)約人力、財力和物力。
-
控制系統(tǒng)
+關注
關注
41文章
6859瀏覽量
113172 -
計算機
+關注
關注
19文章
7724瀏覽量
92302 -
服務器
+關注
關注
13文章
10003瀏覽量
90162
發(fā)布評論請先 登錄
使用lwip socket udp功能,開發(fā)板為客戶端時不能夠接收服務器端發(fā)送過來的數(shù)據(jù) ?
用隊列實現(xiàn)的1對N的TCP服務器端,自動回復信息總發(fā)錯客戶端
qt tcp程序在服務器端發(fā)送數(shù)據(jù)之前能接收客戶端發(fā)送的數(shù)據(jù)嗎?
labview怎么實現(xiàn)服務器端一直等待客戶端發(fā)送數(shù)據(jù)啊
為什么LWIP的TCP客戶端服務器端斷開后繼續(xù)發(fā)送數(shù)據(jù)就無法檢測到連接狀態(tài)?
4412開發(fā)板Qt網(wǎng)絡編程-TCP實現(xiàn)服務器和客戶端
基于嵌入式ARM平臺實現(xiàn)遠程桌面服務器端和客戶端應用示例
監(jiān)控系統(tǒng)客戶端及服務端設計
基于因特網(wǎng)的智能遠程控制系統(tǒng)的設計
基于因特網(wǎng)的智能遠程控制系統(tǒng)的設計
淘寶商品推廣系統(tǒng)服務器端軟件的設計與實現(xiàn)
網(wǎng)絡調(diào)試和串口調(diào)試集合UDP TCP客戶端和TCP服務器端應用程序免費下載

STM32+LWIP服務器實現(xiàn)多客戶端連接

數(shù)據(jù)是怎么樣保證準確的從客戶端發(fā)送到服務器端
Linux下TCP網(wǎng)絡編程-創(chuàng)建服務器與客戶端

評論