基于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系统的菜单、任务栏等界面元素需要在程序中隐藏,应用程序提供一个全屏的显示界面。
隐藏任务栏和全屏显示代码:

评论