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