基于Windows CE 5.0的演示系統(tǒng)設(shè)計
要實(shí)現(xiàn)遠(yuǎn)程控制,需要在遠(yuǎn)程PC上安裝服務(wù)器端程序,在嵌入式系統(tǒng)上安裝客戶端程序。對于WinCE平臺,UltraVNC并沒有官方發(fā)布的兼容客戶端,所以需要將UltraVNC官方客戶端程序移植到WinCE平臺的嵌入式設(shè)備上。
2.2.2 RFB協(xié)議
RFB(Remote FrameBuffer)是遠(yuǎn)程圖形用戶的簡單協(xié)議,工作在幀緩存級別上,所以它可以兼容于目前的主流操作系統(tǒng),包括Windows、Linux和Mac OS。
RFB是真正意義上的“瘦客機(jī)”協(xié)議。RFB協(xié)議設(shè)計的重點(diǎn)在于減少對客戶端的硬件需求。這樣客戶端就可以運(yùn)行在不同的硬件上,客戶機(jī)的任務(wù)實(shí)現(xiàn)上就會盡量簡單。
RFB協(xié)議對于客戶端是無狀態(tài)的。也就是說,如果客戶端從服務(wù)器端斷開,那么當(dāng)它重新連接相同的服務(wù)器,客戶端的狀態(tài)會被保存。甚至,1個不同的客戶端可以用來連接相同的RFB服務(wù)器,而在新的客戶端已經(jīng)能夠獲得與前一個客戶端相同的用戶狀態(tài)。因此,用戶的應(yīng)用接口變得非常便捷。只要合適的網(wǎng)絡(luò)連接存在,那么用戶就可以使用自己的應(yīng)用程序,并且這些應(yīng)用會一直保存,即使在不同的接入點(diǎn)也不會變化。這樣無論在哪,系統(tǒng)都會給用戶提供一個熟悉、獨(dú)特的計算環(huán)境。
2.2.3 程序結(jié)構(gòu)與實(shí)現(xiàn)流程
程序定義的常用數(shù)據(jù)結(jié)構(gòu):
①“class Conn”。連接實(shí)現(xiàn)的核心類,主要負(fù)責(zé)與UltraVNC Server端的連接,內(nèi)容的顯示,以及Server端回傳信息的處理。
②“class ConnOpts”。ConnOps類中定義了連接UltraVNC Server端所需要的連接參數(shù),如連接模式、IP地址、端口、連接密碼等。
③“class NetworkConn”。NetworkConn封裝了WinCE中網(wǎng)絡(luò)連接相關(guān)的函數(shù),便于程序調(diào)用
④“namespace Vnc.RfbProto”。Vnc.RfbProto命名空間封裝了RFB協(xié)議的基本數(shù)據(jù)結(jié)構(gòu)和函數(shù),作為遠(yuǎn)程控制模塊的底層軟件調(diào)用。
⑤“class VncAuth”。系統(tǒng)安全組件,用于加密傳輸用戶連接密碼。
程序功能實(shí)現(xiàn)基本流程:
①通過獲取到的輸入連接參數(shù),建立與遠(yuǎn)程Server端的網(wǎng)絡(luò)連接。
②確認(rèn)遠(yuǎn)程連接協(xié)議版本,驗證用戶身份,初始化本地、遠(yuǎn)程端。
③開始連接,顯示遠(yuǎn)程畫面。
④持續(xù)傳輸操作指令,返回更新的結(jié)果畫面。
2.3 本地資源管理模塊
為了便于管理嵌入式系統(tǒng)的本地資源,需要為應(yīng)用程序添加本地資源管理功能。程序能夠在本地通過USB接口、讀卡器等外部接口訪問所連接的資源,從而實(shí)現(xiàn)本地文檔、圖片等資源的簡單演示功能。
本地資源管理功能主要通過.net compact framework實(shí)現(xiàn)。net compact framework類庫包含了訪問和管理本地文件的System.IO.File類,調(diào)用相關(guān)方法可以實(shí)現(xiàn)文件的打開、剪切、復(fù)制、粘貼等功能。系統(tǒng)目前可以直接打開的文件有Word文檔(*.doc)、圖片文件(*.jpg,*.gif)。
部分功能代碼:
2.4 功能整合
要應(yīng)用到實(shí)際產(chǎn)品中,還需要將上述2部分程序整合到統(tǒng)一的界面中。同時,為了提供友好的用戶界面,原有WinCE系統(tǒng)的菜單、任務(wù)欄等界面元素需要在程序中隱藏,應(yīng)用程序提供一個全屏的顯示界面。
隱藏任務(wù)欄和全屏顯示代碼:
評論