简单远程控制程序的设计与实现
2023-03-05 12:15:02
论文总字数:23874字
摘 要
随着时代的进步,科学技术和网络技术的飞速发展,人们对信息的采集和管理也越来越趋向于专业化,对因为距离远而无法管理的问题也日益暴露,因此远程控制成了必不可少的一部分。本文主要的内容是讲了简单的远程控制,基于Socket编程,消息的Windows远程监控系统,然后从建立分析各功能模块的实现,包括实现自动关闭远程控制功能,和其他各部分的现实与完成。最后,设计和编程经验。本文主要是使用JAVA作为开发语言,使用Eclipse作为系统的程序开发平台,使用C/S两层结构模式,在这个结构中,客户层的客户端程序可以完成人机交互,应用逻辑,数据访问的职能,服务器层主要负责数据库的供给。主要的设计包括对服务器端和客户端的结构及功能的设计,主要实现的远程操作功能包括文件管理、屏幕监控以及远程计算机重启与关闭。
远程控制在现代社会有着很深远的意义和影响,网络的全球化使得地球由一个大的行星,变成了地球村,人们之间的联系也变得更加简单和紧密,远程控制可以有效的完成一些无法在场的任务,真正的实现地球村这个称号。
关键词:远程控制;C/S模式;Java
The design and implementation of simple remote control program
Abstract
With the rapid development of the times progress, science and technology and network technology, people to information collection and management also tend to be more specialized, for as long distance and unmanageable problems are increasingly exposed, so the remote control has become a must essential part. The main content of this paper is about a simple remote control, remote monitoring system based on Windows Socket programming, news and analysis from the establishment of various functional modules to achieve, including automatic shutdown function remote control, and all other parts of reality and complete. Finally, design and programming experience. In this paper, the use of JAVA as development language, using Eclipse as a development program platform using C/S two-tier structure model, in this structure, the client program customers can complete interactive layer, application logic, data access functions, the server layer is mainly responsible for supplying the database. The main design includes server-side and client structure and function of the design, the main achievement of remote operation features including document management, screen monitoring and remote computer reboot and off.
Remote control in the modern society has a profound significance and influence of the network of globalization makes the earth by a big planet, into a global village, connections between people also become more simple and close, the remote control can effectively complete some can"t present task, real implementation of the title of a global village.
Keywords: remote control; C / S mode;Java
目 录
摘 要 I
Abstract II
第一章 引言 1
1.1本课题的研究背景和意义 1
1.2国内外的现状 1
1.3本文主要研究的内容 2
1.4 应完成内容 2
第二章 相关理论及技术手段 3
2.1 远程控制技术的理论 3
2.2 JAVA编程语言 4
2.3 Eclipse程序 4
第三章 简单远程控制技术需求分析 5
3.1 可行性需求分析 5
3.2 功能需求分析 6
3.2.1 客户端功能 6
3.2.2 服务器端功能 6
3.3 非功能需求分析 7
3.3.1程序设计的性能需求 7
3.3.2服务器端的性能需求 8
3.3.3安全性需求 8
第四章 简单远程控制技术的设计 9
4.1 系统的设计原则 9
4.2 远程控制技术的体系架构 10
4.2.1系统的总体架构设计 10
4.3 远程控制技术的业务流程设计 11
4.3.1 客户端获取服务器端基本信息 11
4.3.2 服务器端向客户端请求远程协助 12
4.3.3 客户端对服务器端进行屏幕控制 13
4.4 核心功能模块设计 13
4.4.1 屏幕监控模块设计 13
4.4.2 远程重启或关闭计算机模块设计 14
4.5 安全性设计 15
第五章 简单远程控制技术的实现 17
5.1 客户端(监控端)设计 17
5.1.1 添加主机(建立连接,断开连接) 18
5.2 屏幕监控管理的实现 18
5.3 远程重启或关闭计算机实现 21
5.4软件性能的测试与分析 22
第六章 结束语 23
谢 辞 24
附 录 26
第一章 引言
1.1本课题的研究背景和意义
计算机网络在世界上有着举足轻重的地位,许多公司和集团都有着自己内部的网络系统,管理和监事整个公司或集体的网络。拥有一个健全的管理系统是非常有必要的,而远程控制的管理会更加的方便。然后远程控制技术的不成熟,法律方面也会有或多或少的漏洞,一些用户的非法操作,比如病毒扩散,非法复制或未经授权的删除程序等,会对公司造成极大的危害。为此,要建立自己的可控制的远程网络服务。
远程控制就是用一台计算机远距离的去控制其他一台或者多台计算机,这里的距离不是我们通常所说的距离,而是通过网络远程计算机控制,大部分都是在远程控制局域网遥控。在这里,概念必要弄清,主控制电脑键盘和鼠标的远程计算机被送的命令和通信可以通过来电脑画面可以传送。也就是说,电脑上的操作就是控制自己的电脑一样进行着远程的控制。
计算机的远程控制技术,从dos时代开始,技术没有变化的情况下,没有更多的条件可以利用,但是那个时候远程控制就引起了一些对这方面有想法的人的关注。计算机管理技术的远程操作控制技术引人入胜,一般来说,这些远程控制支持如下:lan和wan网络拨号网络。此外,一些远程控制软件支持序列,并行等。如果用过去的远程软件来实现的话是困难的,但新的技术TCP/IP协议、网络技术的发展,完全可以实现通过远程计算机java技术来控制。
远程控制就是实现的1对多模式,及在一个大的网络环境下,一个电脑控制多个电脑。如果只是小的事务所利用的话,给所有办公电脑用的调制解调器必须配备的环境,远程控制还是很容易实现的。但是在大的公司和集团这,远程控制就有着一些麻烦了,因此需要更多的网络管理者的公司内部局域网延长的远程遥控终点站服务被提供,才可以使人们安心的使用远程计算机控制和远程控制软件的电脑。
1.2国内外的现状
远程控制对于我国来说还不是使用的很多,而且技术方面也不是很成熟,但是在西方的一些发达国家,远程控制技术已经被广泛的使用了,有些公司已经开始初步的出售远程控制技术实现的软件,比如说在农业方面的使用,都是全自动的远程控制功能,还有就是无人机,机器人等方面的使用,都是远程控制发挥的影响。在中国这方面的技术还不是很发达,在农业方面也有一些远程控制的影子,但是并没有大规模的使用。
一般的远程控制都是使用客户/服务器模式,在现场则使用的摄像机进行远程监控,这种技术不是相当的完善,即使使用的数据压缩技术,也不能得到很好的效果,因为远程监控的时间一般都很长,数据即便被压缩了数据量也很大,在方便快捷使用的大容量的存储硬盘还没有发明之前,这方面的问题还没有得到很好的解决。同时,由于技术原因还跟不上人们所需要的,一般性的操作都是很简单的,不能实现一些具有思考性,逻辑性的问题。最后,由于远程控制采用是的发送——等待——发送的模式,因此会使得远程控制的效率变得很低下,大大的影响了效率。
远程控制的优点有:用户可以在任何时间地点使用一台电脑控制远在万里的其他的电脑,完全不用在跑到那个电脑面前进行操作。
1.3本文主要研究的内容
远程控制是一个非常有前途的研究方向,因为现在国内的远程控制实现的东西还不是很多,而且一般都还不是很完善,所以等待这进一步的开发。而且远程控制涉及的方面很广,比如说农业,军事,商业同时也包括我们的正常生活,虽说一些技术的不完善使得远程控制有着一些缺陷,但是他也确实是有着很多的实用价值的。
而我主要在这边研究的方向就是对电脑方面的远程控制。主要内容如下:
编写一套简单远程控制程序,包括服务端和客户端,客户端可以实现对局域网中安装了服务端的其他机器的进行管理。
为方便对远程计算机管理,修改设置或软件维护等,不需要亲临现场,就可以通过一套软件的客户端,对远程被管理计算机进行维护.
1.4 应完成内容
1)可以对被控制的电脑进行监控;
2)可以查看被控制的电脑的文档;
3)可以查看被控电脑的桌面;
5)可以实现对鼠标的控制。
第二章 相关理论及技术手段
2.1 远程控制技术的理论
远程控制的意义。就是使用互联网的主控端对于远距离的被控端(或局域网内部)的电脑或者其他可以操控的软件进行控制,也就是说主控方可以在远距离使用互联网(WAN),ADSL等连接到国内外互联网(Internet)的方法,对于被远程控制的计算机(或可以被操控的其他设备),使用现有的电脑对被远程控制的电脑(或可以被操控的其他设备)进行简单的对远程控制方面的管理以及维护的一些功能,如图2.1所示。远程控制的实现是要前提的,那就是要有着非常良好的网络环境,网络不能有堵塞或者延迟,不然给影响远程控制。
图2.1 远程控制结构图
远程控制一般构成是由客户端/服务器端构成。一般在进行远程控制,客户要使用远程控制软件来对远端计算机或其他设备进行管理或者控制时,一开始时要客户在可以远程控制的电脑PC中安装了并且要运行远程控制系统的客户端软件,接着在可以被远程控制的电脑或其他可以被操控的设备上安装并且运行远程控制系统的服务器端软件,也就是说是被控端的主机电脑。如果可以被远程控制的电脑PC中打开了远程控制的软件,服务器端程序就会不断的向可以操控的电脑端发送连接的消息请求;与此同时,在主控端的电脑里运行的远程控制系统客户端的软件就可以使用Internet网络或者局域网来搜寻在以前使用过的配置成功的指令,在它们找到可以连接的主机时,客户端将会发送是否连接的指令,在服务器端同意的情况下连接成功,这个时候就可以进行交换数据。
2.2 JAVA编程语言
Java创立于1995年,是Sun公司研究发明的一门编程语言,主要开发贡献人员是James Gosling。开发java语言的动力源于对独立平台的需要,即用这种语言编写的程序不会因为芯片的变化而发生无法运行或出现错误的情况。
Java的使用很广,不但可以用来开发使用大型的应用软件,而且也非常的合适于Internet的应用软件方面的开发。目前,Java语言再也不是一门仅仅被大量广泛使用的语言,而且由于他平台的可移植性可扩展性等优点,已经变成了一个程序员需要学习的基础语言。Java语言面向对象编程,而且它在网络、多线程等大多数都学习到的基础知识中都有着涉及,此外,由于技术的不断发展,一些新的技术也用到了Java语言。
2.3 Eclipse平台
Eclipse是一个很好的平台,他对源代码进行开放式管理,而且有着标准的插件集,包含java的开发环境JDK。本文使用的就是Eclipse软件进行对远程控制功能的实现,使用Eclipse可以方便管理,提供了开发的效率。
第三章 简单远程控制技术需求分析
3.1 可行性需求分析
可行性需求分析是基于对软件系统的调查,来决定对于系统的开发是否是有必要的、是否是可行的,而且会在对于系统开发使用的生命周期内有关的经济的成本、有关技术方面的难点和在后期软件使用和运行的效果等进行分析。这样可以回避由于没有计划而随便或胡乱开发导致的没必要的经济损失,保证软件开发研究的平稳运行和在后期软件能正常使用的成功性。而且网络时代的飞速发展,技术的不断更新换代,使得整个社会都加快了节奏。因此,高速而有效的办事效率成了重中之重,远程控制就如字面的意思,可以远程的控制其他人的电脑,这样使得人们有些事情不用自己过去,或者说当面要完成的事情不用面对面的去处理了,这样就大大的加快了办事效率。所以,花些时间来开发一个远程控制软件是非常有必要的,会节约大量时间,提高效率。
本文对简单的远程控制技术的设计与实现可行性需求分析主要由2方面组成:
(1)经济可行性
经济可行性就是对于软件开发的成本方面进行估算以及在软件完成使用时的经济效益。一方面,通过简单的远程控制技术开发中有关的人力资源、软件前期开发所需要的资金、需要的硬件方面的资金以及后期软件进行运行和维护所需要的资金等进行一些有效的估算,才能保证在前期开发时有充足的资金可以用来开发使用;另一方面,在软件的使用中,可以改善工作效率,提供公司的远程控制原理水平。
通过对简单的远程控制技术的一些公司,学校等地方进行市场调研,可以得到的结果就是,对于软件前期开发的资金还是可以被人所接受的,简单的远程控制技术在开发完毕后的使用,人们的工作效率以及管理方面的水平将得到很大的提升。因此,开发简单的远程控制技术在经济上是可行的。而且现在远程控制还不是非常成熟的时代,大的公司也就是用远程控制进行简单的监视和提醒,而一些学校中也是简单的局域网的控制,而且现在的远程控制的安全管理也不完善,所以做一款操作简单,使用方便,安全性功能搞的远程控制软件是可行的,而且远程控制的软件开发也不是特别的难,不需要什么贵的硬件支持,只要现在都常见的普通电脑即可。前期的开发资金不多,做的好的话还可以得到广泛的使用,不仅方便了人们,还使自己都到了利用。
(2)技术可行性
对于软件的技术可行性方面,主要都是根据客户所提出来的一些所求进行开发,一般都是在客户对与产品的功能和性能有着自己的一些独特的想法,因此软件的开发工作人员会对开发这个软件所需要的技术条件能否能完成,能否能满足客户的具体要求等进行评估,要对功能方面、性能方面和客户需要方面的难题进行确认,还有就是现在所拥有的技术可不可以解决目前所面对的问题。
远程控制系统可以使用的语言比较多,可以使用Java,C ,VB等,我在这边选择的是Java语言,因此Java语言和其他语言相比, 最大的特点就是能够在所有的计算机上运行,他的平台的无关性特点使得java语言风靡全球,也是的我可以在网上找到和学习的更多。使用的主要技术就是基于Java socket的网络编程,使用套接字建立2个电脑的接口的连接,然后使用C/S模型对电脑进行远程控制。
3.2 功能需求分析
3.2.1 客户端功能
客户端的运行软件主要在主控制端的机器上进行运行和操作,他的作用就是对于被控制的机器和设备进行一些简单的监控和协助作用。客户端主要可以实现的内容包含包跟服务器端进行简单的通讯、对于被控端的设备的屏幕进行控制,还有就是对于被控端的界面要有显示出来的功能。具体如下:
1.通信功能。主要具有的就是对于被控端的屏幕的数据包进行传输、同时还有对于发送的一些指令进行传送和网络的连接等。
2.屏幕控制功能。在客户端有连接申请控制被控端的机器的时候,客户端要获得被控端的屏幕,以方便控制,与此同时,在服务器端的程序也是可以请求被主控端进行远程监控。
3.界面显示功能。主要使用的是对于被控端的界面实现一个抓拍功能,将抓怕的图片压缩成包发给客户端,然后客户端对于收到的文件进行解压,显示在客户端的界面,实现界面显示。
3.2.2 服务器端功能
在被控制的电脑上先要进行服务器端的安装,由于需要,在被控端的电脑开机启动的时候,要进行对程序也进行开机启动,还有就是不能因为被控端的一些错误的操作从而导致远程控制软件的失败,同时也要保持远程通信功能。功能具体如下:
(1)隐藏和反逆向功能。防止因为被控端的一些错误的操作从而导致远程控制软件的失败或者被迫停止运行,同时也要保护服务器端,不能使他们被犯罪分子所利用,所以要对服务器的安全性和稳定性进行一定的保护和预防,在这里服务器主要的防止功能是进行隐藏和反逆项功能。
(2)通信功能。被控端在要求主控端的远程控制服务时,或者是被控端要进行一些数据的传送给客户端,都要进行通讯功能。同时,服务器端可以接收到客户端发送的指令,作出相应的回复,最后把结果要进行返回。
3.3 非功能需求分析
简单的远程控制技术的设计与开发在要完成需要设计完成的模块之外,还要求根据使用条件,使用环境等方面的要求作出相应的调整,要保证软件可以有很好的稳定性和扩展性,此外,对于系统在维护性和安全性等方面的问题也需要多多注意。这里我们从程序的性能方面、服务器端的性能需求、以及对于软件的使用安全等方面进行了以下的一些分析。
3.3.1程序设计的性能需求
软件在开发设计的过程中,要进行下面几点的注意:
(1)对系统软件的界面部分的设计,要考虑到人机结合、交互的特点,要努力的做到完善的功能,其中用户界面的设计一定要友好,界面设计的风格要和之前的一致,还有就是在操作时尽可以的简单便捷,这样才能得到很好的推广使用,同时后期的维护方面也要进可能的方便。
(2)对系统软件的程序部分的设计,要考虑到系统软件的可移植性和可扩展性,因为在后面软件的使用过程中,客户会根据环境的需要提出一些新的要求,可能是对原有系统软件进行修改,也可能是对原有软件的功能进行添加和删减,因此系统的软硬件在这个方面都要有一定的调整,具有轻松扩展和兼容的能力。
(3)在对系统软件的架构方面的设计,要想到的是大量的数据传送和大量的数据要进行快捷有效的处理等情况的发生,同时,如果访问系统的用户数量过多,要能保证服务器不会爆炸,能平稳有效的运行,还有就是对于系统要进行定期的更新维护。
(4)系统在完成了用户需要完成的功能之外,还有对系统的安全性能进行分析,比如通过手机号验证,身份证验证等。此外,也要对系统软件的数据进行有效的备份,不然一旦系统出现问题,就不能很快的恢复数据,在备份的情况下,可以很快捷的完成数据恢复,不会对用户的使用造成大的影响。
(5)在系统软件的开发环境和语言设计方面的选择,一般都是使用比较基础同时又很大众的技术和构架,这样可以使得系统可以得到大部分人的认可和使用,同时在后期的软件检测维护中也有着极大的便利。
(6)在客户使用的界面进行开发设计时,一定要保证界面的简洁美观,同时还要操作比较简单,方便使用。比如说用户在对数据进行输入的时候,需要简单快捷,在需要帮助的时候,可以方便有效,对于那些已经输入的数据,可以动态的修改等等。
3.3.2服务器端的性能需求
在系统的服务器端,一定要配置高级的硬件设备,这样才可以根据客户的需要作出相应的调整,也会根据系统自身的需求作出一些改变,才能满足设备需求,例如服务器内存、CPU、硬盘容量等等;此外,还要求有可以让系统软件正常使用并允许运行的环境支撑,同时也要考虑到用户网络的通畅程度,在充分考虑到了系统的安全稳定方面的影响,从而对系统进行合理的配置,从提高服务器端的性能。
3.3.3安全性需求
系统的安全性需求是有功能和数据的要求而产生的,主要由两个部分生成:第一部分是系统中的功能方面的模块在完成中所需要带的安全性的要求,是根据系统的功能模块特定的;第二部分是受系统所使用单位的相关规章、制度约束的安全性需求。
第四章 简单远程控制技术的设计
4.1 系统的设计原则
简单的远程控制技术的设计要充分结合系统所使用单位的实际情况,考虑系统软件方面的需求、系统软件开发所需要的技术支持、以及系统软件安全性方面的因素。所以在这次系统软件的制作中,我对下面几个方面进行了调整:
(1)结构化设计原则
在系统软件制作过程中,要按照一个的规则进行,比如说系统的结构化原则,使用的是自顶向下的模式,这个模型主要在于逐步求精,可以对系统的各个功能进行细化,从而可以完成系统模块规划所要完成的内容和要求。
(2)界面友好性原则
在系统软件的界面制作过程中,要考虑到大多数人的习惯和使用方式,劲量做的很多的人性化,使用更加简单快捷,界面也尽可以的友好,这样才能方便使用。
(3)简单易用性原则
在系统软件简单实用性上的设计,工作人员要尽可以的满足客户的要求,必要的时候可以去市场调研,发现用户真正的需要。同时也要简单工作流程,使客户可以使用简单的操作就可以完成要做的工作,真正的实现化繁为简,这样就可以使得客户可以在很短的时间内完成超标的工作,从而使得工作效率得到了很大的提高。
(4)安全性原则
保证系统软件的安全性很重要,在软件的开发过程中,就要注意到系统的安全性的设计,要建立好严密的安全框架和安全机制,努力做到或者说减少风险的准备,这样可以为后期的软件的安全性维护打下基础。
剩余内容已隐藏,请支付后下载全文,论文总字数:23874字