基于Windows CE 5.0的演示系統設計
要實現遠程控制,需要在遠程PC上安裝服務器端程序,在嵌入式系統上安裝客戶端程序。對于WinCE平臺,UltraVNC并沒有官方發布的兼容客戶端,所以需要將UltraVNC官方客戶端程序移植到WinCE平臺的嵌入式設備上。
2.2.2 RFB協議
RFB(Remote FrameBuffer)是遠程圖形用戶的簡單協議,工作在幀緩存級別上,所以它可以兼容于目前的主流操作系統,包括Windows、Linux和Mac OS。
RFB是真正意義上的“瘦客機”協議。RFB協議設計的重點在于減少對客戶端的硬件需求。這樣客戶端就可以運行在不同的硬件上,客戶機的任務實現上就會盡量簡單。
RFB協議對于客戶端是無狀態的。也就是說,如果客戶端從服務器端斷開,那么當它重新連接相同的服務器,客戶端的狀態會被保存。甚至,1個不同的客戶端可以用來連接相同的RFB服務器,而在新的客戶端已經能夠獲得與前一個客戶端相同的用戶狀態。因此,用戶的應用接口變得非常便捷。只要合適的網絡連接存在,那么用戶就可以使用自己的應用程序,并且這些應用會一直保存,即使在不同的接入點也不會變化。這樣無論在哪,系統都會給用戶提供一個熟悉、獨特的計算環境。
2.2.3 程序結構與實現流程
程序定義的常用數據結構:
①“class Conn”。連接實現的核心類,主要負責與UltraVNC Server端的連接,內容的顯示,以及Server端回傳信息的處理。
②“class ConnOpts”。ConnOps類中定義了連接UltraVNC Server端所需要的連接參數,如連接模式、IP地址、端口、連接密碼等。
③“class NetworkConn”。NetworkConn封裝了WinCE中網絡連接相關的函數,便于程序調用
④“namespace Vnc.RfbProto”。Vnc.RfbProto命名空間封裝了RFB協議的基本數據結構和函數,作為遠程控制模塊的底層軟件調用。
⑤“class VncAuth”。系統安全組件,用于加密傳輸用戶連接密碼。
程序功能實現基本流程:
①通過獲取到的輸入連接參數,建立與遠程Server端的網絡連接。

②確認遠程連接協議版本,驗證用戶身份,初始化本地、遠程端。

③開始連接,顯示遠程畫面。

④持續傳輸操作指令,返回更新的結果畫面。

2.3 本地資源管理模塊
為了便于管理嵌入式系統的本地資源,需要為應用程序添加本地資源管理功能。程序能夠在本地通過USB接口、讀卡器等外部接口訪問所連接的資源,從而實現本地文檔、圖片等資源的簡單演示功能。
本地資源管理功能主要通過.net compact framework實現。net compact framework類庫包含了訪問和管理本地文件的System.IO.File類,調用相關方法可以實現文件的打開、剪切、復制、粘貼等功能。系統目前可以直接打開的文件有Word文檔(*.doc)、圖片文件(*.jpg,*.gif)。
部分功能代碼:

2.4 功能整合
要應用到實際產品中,還需要將上述2部分程序整合到統一的界面中。同時,為了提供友好的用戶界面,原有WinCE系統的菜單、任務欄等界面元素需要在程序中隱藏,應用程序提供一個全屏的顯示界面。
隱藏任務欄和全屏顯示代碼:

評論