通过利用服务器端和客户端实现远程控制系统的创建

描述

目前,随着计算机网络的广泛应用,无纸办公和远程办公是人们经常谈及的话题,为了实现计算机网络的这种应用,方便人们工作,本文提出了一种远程控制系统。为了实现这个系统,首先从系统所要实现的功能着手,设计出该系统的体系结构,并详细说明体系结构中各模块的主要功能;接着从通信效率和网络环境方面考虑,设计出适合于该系统的通信协议;最后以流程图的方式详细说明系统软件的实现过程。

1 、引言

随着计算机网络的飞速发展,人们可以很方便地从Internet上获取和自己工作生活密切相关 的信息,世界也真正变成一个地球村,我们可以和世界上其他任何一个人通过计算机网络进行沟通,信息资源达到了高度的共享。从这一点得到启发,希望能够设计一个远程控制系统,通过他可以在家里控制办公室里的计算机。如果你是软件开发商,你的员工可以通过他在办公室里远程为客户配置系统、对产品进行维护,如果客户向你报告软件产品出现问题你可以远程对产品进行调试,最终解决问题。这样员工就不会因长期的劳苦奔波而抱怨,用户也不会因为你不能及时解决产品的问题而和你讨价还价,当然也为公司节约了人力和财力。下面详述该远程控制系统是如何实现的。

计算机

2 、远程控制系统的体系结构设计

该远程控制系统由服务器端和客户端2个部分组成,客户端可以通过鼠标和键盘控制服务器端的计算机,同时还可以相互传输文件。其体系结构如图1所示,主要由安全性校验、屏幕控制、鼠标控制、键盘控制、命令控制、文件传输、端口设置等6个模块组成。下面具体说明各个模块的功能。

(1)安全性校验模块

从系统安全性方面考虑,目的是让客户端和服务器端建立可信联接,客户端要想完全控制服务器端的计算机,必须先通过服务器的验证取得服务器的信任。这样可以避免一些不怀好意的人通过客户端窃取服务器端计算机中有用的资料。

(2)屏幕控制模块

可以让客户端用户实时监控服务器端计算机的运行状态。客户端以一定频率向服务器发送请求,服务器响应客户端请求将自己的屏幕拷贝下来并将这些信息发送给客户端,客户端接收到这些信息之后以图形的形式显示出来,为鼠标和键盘控制提供图形化接口。

(3)鼠标控制模块

可以让客户端用户通过鼠标控制服务器端的计算机。其实现过程是客户端软件先捕捉鼠标在图形化接口(屏幕控制模块所提供的)中的动作,再将这些信息发送到服务器端,最后服务器端的服务程序向操作系统发送这个动作的消息,这样就如同在服务器端的操作系统上进行了相应的鼠标操作。如果动作是在“Microsoft Word”图标上双击,则远程控制系统服务器端的“Microsoft Word”被打开。

(4)键盘控制模块

可以让客户端用户通过键盘控制服务器端计算机的输入,其实现过程是客户端软件先捕捉键盘在图形化接口(屏幕控制模块所提供的)中的动作,再将这些信息发送到服务器端,服务器端的服务程序向操作系统发送这个动作的消息,这样就如同在服务器端的操作系统上进行了相应的键盘输入。如果服务器端的“Microsoft Word”为当前的活动窗口,则客户端的键盘操作就如同有人在服务器端利用“Microsoft Word”进行文字编辑一样。屏幕控制、键盘控制和鼠标控制模块是在网络状况较好的情况下才会有较快的响应速度,如果网络状况不好将采用命令控制模块进行远程控制。这种控制方式有较多的限制,需要根据具体的需求进行设计。

(5)文件传输模块

可以方便客户端和服务器端进行文件传输,他由文件上传和文件下载2个部分组成。文件上传可以把客户端的文件上传到服务器端的计算机上;文件下载可以把服务器端的文件下载到客户端的计算机上。

(6)端口设置模块

配置双方进行通信的端口。

3 、远程控制系统软件的实现

3.1通信协议的设计

3.1.1系统控制协议

当客户端需要向服务器端发送控制信息时将采用如下的格式:

计算机

其中信息格式中各参数的值和含义如表1所示。

3.1.2图片传输协议

图片信息的传输采用Byte的方式,其格式如图2所示。

计算机

若控制信息转换成字符串后为“0123456789”则表示图片传输开始,长度转换成数字后表示图片信息总长度;若控制信息转换成字符串后为“9876543210”则表示图片传输结束;否则表示传输的为图片内容信息,长度转换成数字后表示本次发送信息的长度,后面为实际内容。

计算机

3.1.3文件传输协议

文件传输也采用Byte方式,其传输协议由以下几步组成:

(1)如果是文件上传则发送信息转换成字符串后为“#_CMDFileUp_#”;如果是文件下载则发送信息转换成字符串后为“#_CMDFileDown_#”。

(2)发送源文件名,转换后的字符串为“#_SourceFileName_#”。

(3)发送目的文件名,转换后的字符串为“#_DestinationFileName_#”。

(4)发送文件开始标志,转换后的字符串为“#_Start_#”。

(5)发送文件内容,直到发送完毕。

(6)发送文件结束标志,转换后的字符串为“#_End_#”。

3.2服务器端软件的实现

服务器端软件的实现过程是当客户端要和服务器建立连接时,如果合法则允许建立连接,如果不合法则拒绝建立连接。建立连接后服务器启动服务,监听客户端发送过来的控制信息,然后和客户端协作完成相应的任务。如图4所示。

计算机

3.3客户端软件的实现

客户端软件的实现过程是首先向服务器端发送身份信息,请求和服务器建立连接,如果通过验证则定时发送屏幕控制信息,同时接受用户的输入并把其转换成相应的控制信息,然后发送到服务器。如果请求被服务器拒绝则退出应用程序。

4 、结语

开发这种系统具有实际应用价值,用户可以通过他进行远程办公,软件公司可以通过他对自己的产品进行远程配置以及在线诊断和维护,为公司节约人力、财力和物力。


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分