一种远程控制系统的设计与实现.doc_第1页
一种远程控制系统的设计与实现.doc_第2页
一种远程控制系统的设计与实现.doc_第3页
一种远程控制系统的设计与实现.doc_第4页
一种远程控制系统的设计与实现.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一种远程控制系统的设计与实现刘旭东(长安大学信息工程学院 陕西西安 710064)摘 要:目前,随着计算机网络的广泛应用,无纸办公和远程办公是人们经常谈及的话题,为了实现计算机网络的这种应用,方便人们工作,本文提出了一种远程控制系统。为了实现这个系统,首先从系统所要实现的功能着手,设计出该系统的体系结构,并详细说明体系结构中各模块的主要功能;接着从通信效率和网络环境方面考虑,设计出适合于该系统的通信协议;最后以流程图的方式详细说明系统软件的实现过程。关键词:远程控制;软件;系统结构;通信协议中图分类号: TP393.09 文献标识码: B 文章编号: 1004 373X (2005) 02 053 031 引 言随着计算机网络的飞速发展,人们可以很方便地从Internet上获取和自己工作生活密切相关的信息,世界也真正变成一个地球村,我们可以和世界上其他任何一个人通过计算机网络进行沟通,信息资源达到了高度的共享。从这一点得到启发,希望能够设计一个远程控制系统,通过他可以在家里控制办公室里的计算机。如果你是软件开发商,你的员工可以通过他在办公室里远程为客户配置系统、对产品进行维护,如果客户向你报告软件产品出现问题你可以远程对产品进行调试,最终解决问题。这样员工就不会因长期的劳苦奔波而抱怨,用户也不会因为你不能及时解决产品的问题而和你讨价还价,当然也为公司节约了人力和财力。下面详述该远程控制系统是如何实现的。2 远程控制系统的体系结构设计该远程控制系统由服务器端和客户端2个部分组成,客户端可以通过鼠标和键盘控制服务器端的计算机,同时还可以相互传输文件。其体系结构如图1所示,主要由安全性校验、屏幕控制、鼠标控制、键盘控制、命令控制、文件传输、端口设置等6个模块组成。下面具体说明各个模块的功能。(1)安全性校验模块从系统安全性方面考虑,目的是让客户端和服务器端建立可信联接,客户端要想完全控制服务器端的计算机,必须先通过服务器的验证取得服务器的信任。这样可以避免一些不怀好意的人通过客户端窃取服务器端计算机中有用的资料。图1 远程控制系统的体系结构(2)屏幕控制模块可以让客户端用户实时监控服务器端计算机的运行状态。客户端以一定频率向服务器发送请求,服务器响应客户端请求将自己的屏幕拷贝下来并将这些信息发送给客户端,客户端接收到这些信息之后以图形的形式显示出来,为鼠标和键盘控制提供图形化接口。(3)鼠标标控制模块可以让客户端用户通过鼠标标控制服务器端的计算机。其实现过程是客户端软件先捕捉鼠标在图形化接口(屏幕控制模块所提供的)中的动作,再将这些信息发送到服务器端,最后服务器端的服务程序向操作系统发送这个动作的消息,这样就如同在服务器端的操作系统上进行了相应的鼠标操作。如果动作是在“Microsoft Word”图标上双击,则远程控制系统服务器端的“Microsoft Word”被打开。(4)键盘控制模块可以让客户端用户通过键盘控制服务器端计算机的输入,其实现过程是客户端软件先捕捉键盘在图形化接口(屏幕控制模块所提供的)中的动作,再将这些信息发送到服务器端,服务器端的服务程序向操作系统发送这个动作的消息,这样就如同在服务器端的操作系统上进行了相应的键盘输入。如果服务器端的“Microsoft Word”为当前的活动窗口,则客户端的键盘操作就如同有人在服务器端利用“Microsoft Word”进行文字编辑一样。屏幕控制、键盘控制和鼠标控制模块是在网络状况较好的情况下才会有较快的响应速度,如果网络状况不好将采用命令控制模块进行远程控制。这种控制方式有较多的限制,需要根据具体的需求进行设计。(5)文件传输模块可以方便客户端和服务器端进行文件传输,他由文件上传和文件下载2个部分组成。文件上传可以把客户端的文件上传到服务器端的计算机上;文件下载可以把服务器端的文件下载到客户端的计算机上。(6)端口设置模块配置双方进行通信的端口。3 远程控制系统软件的实现3.1 通信协议的设计3.1.1 系统控制协议当客户端需要向服务器端发送控制信息时将采用如下的格式:“#Command#PointX#PointY#KeyAscii#ControlText#Addition#Length#”其中信息格式中各参数的值和含义如表1所示。3.1.2 图片传输协议图片信息的传输采用Byte的方式,其格式如图2所示。图2 图片信息的传输格式若控制信息转换成字符串后为“0123456789”则表示图片传输开始,长度转换成数字后表示图片信息总长度;若控制信息转换成字符串后为“9876543210”则表示图片传输结束;否则表示传输的为图片内容信息,长度转换成数字后表示本次发送信息的长度,后面为实际内容。参数 取值 含义Command DoubleClick 鼠标双击操作LeftClick 鼠标左击操作RightClick 鼠标右击操作MouseMove 鼠标移动操作KeyPress 键盘按键操作Screen 要求服务器发送屏幕图片信息给客户端CommandControl 以命令方式控制服务器PointX 鼠标位置X坐标 图形化接口中鼠标的X坐标(相对位置)PointY 鼠标位置Y坐标 图形化接口中鼠标的Y坐标(相对位置)KeyAscii 按键的Ascii码 图形化接口中按键的Ascii码 ControlText 命令控制的内容 命令控制的内容Addition 附加信息 附加信息以备以后系统的扩展所用Length Length前面内容长度 作为校验所用保证信息的可靠性表1 信息格式中各参数的值和含义图3 服务器端软件流程图3.1.3 文件传输协议文件传输也采用Byte方式,其传输协议由以下几步组成:(1)如果是文件上传则发送信息转换成字符串后为“#_CMDFileUp_#”;如果是文件下载则发送信息转换成字符串后为“#_CMDFileDown_#”。(2 )发送源文件名,转换后的字符串为“#_SourceFileName_#”。(3)发送目的文件名,转换后的字符串为“#_DestinationFileName_#”。(4)发送文件开始标志,转换后的字符串为“#_Start_#”。(5)发送文件内容,直到发送完毕送完毕。(6)发送文件结束标志,转换后的字符串为“#_End_#”。3.2 服务器端软件的实现服务器端软件的实现过程是当客户端要和服务器建立连接时,如果合法则允许建立连接,如果不合法则拒绝建立连接。建立连接后服务器启动服务,监听客户端发送过来的控制信息,然后和客户端协作完成相应的任务。如图4所示。3.3 客户端软件的实现客户端软件的实现过程是首先向服务器端发送身份信息,请求和服务器建立连接,如果通过验证则定时发送

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论