论文部分内容阅读
随着计算机技术的快速发展,特别是对远程办公、远程协作、远程维护和远程教学的需要,远程控制技术越来越引起人们的关注。远程控制是指从本机通过软件操作远程计算机的屏幕、键盘和鼠标,从而使用远程计算机的功能,管理和维护远程计算机。远程控制技术克服了地域性的差异而带来的不便性,大大提高了办公效率,因而在网络管理,远程协作,远程办公等领域都有着广泛的应用。现有远程控制软件具有的共同特点是仅仅支持Windows平台而缺乏对异构系统的支持。 本文的研究重点为在异构系统下如何实现远程控制,将集中讨论被控端Frame Server的设计、控制端Viewer的设计以及系统之间的消息交互。被控端运行在Unix/Linux上,而控制端运行在Windows上,使用Windows上的控制端软件远程操作Unix/Linux系统的被控端计算机,两者都工作在GUI方式下。Frame Server的设计包括运行结构设计、网络处理、图像编码、键盘和鼠标处理等内容。Viewer的设计基于Windows消息机制和图像处理API,包括运行结构设计、键盘和鼠标处理、图像解码等内容。本系统的运行基于RFB协议,从而很好地解决了异构系统之间的消息通讯;采用I/O多路复用机制和链表结构,实现在多个Viewer之间共享显示。根据图形桌面的显示特点,本文对图像编码作了深入研究,将二维行程编码和Zlib编码等多种编码方式应用于屏幕图像压缩,使Viewer的屏幕图像数据得到实时更新,而且图像编码方式与平台无关。并且对Windows和X Window之间的输入转换进行了详细地阐述,使Viewer的输入能够被Frame Server正确理解并处理。