ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:242.88KB ,
资源ID:7239680      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7239680.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(论文正文参考范本.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

论文正文参考范本.docx

1、论文正文参考范本学位论文摘要与正文内容提纲:1) 简述背景,提出问题,说明题目的意义与价值。2) 分析研究相关有理论、原理与技术。3) 提出理论方案与技术路线。4) 研究的工作与内容及创新5) 验证结论、性能指标。6) 结果与结论的理论与实际价值。*基于C#的远程控制管理设计摘 要1.xxx本程序是用Microsoft平台下的C#语言实现远程控制。C#是一种简单、现代、面向对象且类型安全的编程语言。本系统中,客户端使用的是C#的窗体应用程序,服务器端用的是服务应用程序。23在程序中,用套接字实现了远程信息交换,它的具体功能主要是文件上传和文件下载。在这之中,用TcpClient和TcpList

2、ener来完成远程连接,服务器端打开一个端口监听来自网络中的信息流,客户端使用服务器端的IP和监听的端口号取得与服务器的连接。客户端使用TcpClient的对象来初始化NetWorkStream对象,从而实现对字节流的传送的接收操作;服务器端使用TcpListener的对象来初始化NetWorkStream对象,从而获得与客户端的网络流交换。本程序中客户端通过发送关机命令实现远程关闭服务器电脑;使用服务器的MAC地址实现远程唤醒服务器。客户端向服务器发送16次服务器的MAC地址,便能实现远程服务器的唤醒操作。在程序中使用键盘钩子(HOOK)模拟键盘、鼠标事件模拟鼠标。要实现桌面的远程控制,首先

3、就是获取服务器的屏幕,用类似于传送文件的方式把服务器屏幕图片流传送到客户端显示。在客户端用键盘钩子获取所有按键事件,能够屏蔽系统对键盘的响应(如按下Windows键,开始菜单不会弹出),只把按下的键的健值记录下来传送到服务器端;客户端获取鼠标是用鼠标事件获取,包括左右键的单双击及中键的滚动。服务器端获得客户端传送过来的键盘、鼠标事件后,用API实现模拟按键操作和模拟鼠标点击、滚动操作。从而达到客户端远程控制服务器端的目的。45关键字:套接字、键盘钩子、C/S结构、远程控制C#-Based Design Of The Remote Control and ManagementAbstract:T

4、his software use C# under MS platform to achiveve computer remote control.c# is a programming language that is simple,modern,object-oriented and type of security.In this system,client-side use Windows Form application and service-side use Windows Service application to achieve.In the program,Socket

5、is used to complete remote infomation exchange.Its specific function is upload a file or folder and download a file or folder.In Socket,two class TcpClient and TcpListener realize remote connect throw Internet, service-side open a port to listen the information form Internet,and client-side connect

6、with the service-side by IP and port of server computer.Client-side use class TcpClient to initialize NetWorkStreams object,so that NetWorkStreams object can get send and get byte stream with service computer.Server-side use TcpListener to initialize NetWorkStreams object to complete the same work o

7、f Client-side. In the program,client-side send Shut Down command to service-side and server computer close itself.Client-side use the MAC address of server computer to wake up server computer.Client-side send the MAC address 16 times to service-side and then server computer is waked up.In the remote

8、 control part,we use keyboard HOOK to simulate keyboard and use mouse event to simulate mouse operation.In order to achieve remote control,first we should get service-sides screen,and then we can translate it to client-side in the way like download file.When we use HOOK to simuate keyboard and mouse

9、 event to simulate to mouse,local system will not response,such as when we press the system key,the start menu will not open.We get local keyboard and mouse event and send it to service-side,then analyze the command and simulate them in server computer.Key Words:Socket、Keyboard HOOK、C/S、Remote Contr

10、ol目录第一章 前言 11.1 课题背景 11.2 课题意义 11.3 研究内容 11.4 论文结构 2第二章 相关技术介绍 42.1 .NET 框架 42.2 C# 编程语言 52.3 套接字(Socket接口) 6第三章 系统分析与系统设计 73.1 系统分析 73.1.1 系统功能介绍 73.1.2 系统流程图 73.1.2 子模块流程图 83.1.2.1 远程开关机 83.1.2.2 文件的传送 93.1.2.3 文件下载 113.1.2.4 远程控制 113.2 系统设计 123.2.1 客户端设计 123.2.1.1 登录窗体设计 123.2.1.2 主界面设计 123.2.1.3

11、下载文件界面 133.2.2 服务器端设计 13第四章 客户端具体实现 154.1 用户登录 154.1.1 实现登录 154.1.2 为其它类提供登录接口 164.2 主界面实现 164.2.1 开关机实现 164.2.1.1 远程唤醒 164.2.1.2 远程关机 174.2.2 远程控制 174.2.3 发送文件 194.2.3.1 传送单个文件 194.2.3.2 对服务器传送文件夹 214.2.4 下载文件 224.2.4.1 下载单个文件 224.2.4.2 下载文件夹 23第五章 服务器端具体实现 255.1 远程控制 255.2 传送文件 265.2.1 传送单个文件 265.

12、2.2 传送文件夹 265.3 下载文件 275.3.1 下载单个文件 275.3.2 下载文件夹 28第六章 系统测试 296.1 登录测试 296.2 开关机测试 296.2.1 远程关机测试 296.2.2 远程唤醒测试 306.3 远程控制测试 306.4传送文件测试 316.4.1 传送单个文件 316.4.2 传单文件夹 326.5 下载文件测试 326.5.1下载单个文件 326.5.2 下载文件夹 33结论 35致谢 36参考文献 37第1章 前 言1.1 课题背景C#出现十年来,许多C、C+以及VB程序员转投它的门下,这不仅是因为C#是一个致力于敏捷开发和快速应用程序开发的工

13、具。在如今计算机硬件快速发展,速度已经不再是瓶颈的情况下,开发效率是人们追求的唯一目标。而C#就是顺应时代而产生的,它是一种简单、方便和快捷的编程语言。与此同时,网络的飞速发展给人们带来了极大的方便。如今人们的日常生活越来越离不开网络,也越来越依赖网络。在目前,对于网络信息的传输,人们主要使用套接字编程来实现,C#中也可使用套接字编程。它通过编码的流在网络上传输信息,人们获得流之后又把它解码出来获得需要的信息。本课题就是在这样的环境之下应运而生的,它实现了信息在网络上的传输,客户端实时的控制服务器。1.2 课题意义本课题旨在方便人们的学习和工作,它能在客户端能过网络控制服务器,实现信息的实时交

14、换,而服务器又不需要由人控制。在日常生活中,人们可以使用它在不同的办公地点来实现文件的传输,这可以节约时间在往返工作地点的路上。同时,如果需要多台电脑进行同一项任务时,可以通过本地控制方便控制。扩展开来,本系统增加可以增加连接服务器数量,这样就可以对多台电脑实时的监控,这在管理上有一定的作用。1.3 研究内容为了实现本系统,论文做了以下几方面的研究。 1TCP/IP网络协议。本程序中通过TcpListener和TcpClient实现客户端和服务器的连接。2魔术包工具(Magic Packet)。魔术包是AMD公司开发的,它的多播(BroadCast)功能通过发送16MAC地址给“睡着”的电脑,

15、网卡通过报警功能实现计算机的唤醒。3屏幕抓取技术。在实现远程控制的过程中,要实现实时的控制服务器,就需要抓取系统当前屏幕的图片。4键盘钩子。也是在远程控制当中,客户端使用键盘钩子获得本地键盘的按键键值,同时可以对不同的按键进行相应的操作,并且阻止按键传向下一个应用程序。5Windows API。同样在远程控制的过程中,服务器端用API中的“user32.dll”实现鼠标和键盘的模拟操作。6套接字(Socket)。套接字是本系统实现的基础,在程序中,使用Socket编程实现数据在网络中传输。1.4 论文结构本毕业设计报告内容可以分为六个部分,分别是系统及相关技术介绍(第1、2、3章)、系统的实现

16、(第4、5章)和系统的测试(第六章)。各章的主要内容安排如下。第1章:前言。介绍了本课题的来源、目的、意义,论文研究的内容和各章的安排。第2章:相关技术介绍。本章介绍了.Net FrameWork、VS平台下的C#语言以及相关网络技术(TCP/IP协议的使用)。第3章:系统分析与系统设计。本章分析了系统各个模块的功能,也给出了系统各个模块的详细设计方案。对服务器和客户端的设计做了分别介绍。第4章:客户端具体实现Windows Form。本系统的客户端是用Windows实体应用程序实现的。在本章中对客户端的各个模块做了详细的介绍,并列出了核心代码。第5章:服务器端具体实现Windows Serv

17、ice。本系统的服务器端是用Windows服务应用程序实现的。服务器端只有一个事件处理模块,本章对它进行了具体讲解,也把它对客户端的每个请求作出的相应响应进行了具体的分析。第6章:系统测试。本章对系统的主要功能进行了相应的测试工作,同时也对比较容易出错的地方进行了测试及说明。第2章 相关技术介绍本软件的开发采用C/S结构。在客户端是Windows Form的应用程序,服务器端是Windows Service的应用程序。客户端和服务器端都是用VS平台下的C#语言实现的。相对于其它开发语言而言,C#简单易学、界面操作方便(类似Visual Basic),同时又能实现C+一样强大的功能。因此选择它作

18、为开发本软件的语言。开发本软件是选用的较新的VS2008,它的功能相当强大,也很好用。相对于VS2005而言,VS2008在做网页方面增加了许多新的功能,如ASP.NET3.5、CTR Add-in Framework 、 Additional Enhancement等。这些新增功能相对于本程序来说影响并不大,因此不做具体介绍。2.1 .NET 框架.NET Framework 是Microsoft为开发应用程序而创建的一个富有革命性的新平台。上面这句话时.NET的定义,定义给我们两点启示。第一:它没有清楚的说明“在Windows操作系统上开发应用程序”。尽管.NET Framework 的

19、Microsoft 版本运行在 Windows操作系统上,但是.NET Framework也可以运行在其他操作系统上,例如开源的MONO就是一个例子。MONO项目不仅可以运行在Windows系统上,也可以运行在 Linux, FreeBSD, Unix, Mac OS X和Solaris上。第二:.NET Framework 定义并没有限制应用程序的类型。这是因为本来就没有限制。.NET Framework 可以创建Windows 应用程序、Web 应用程序、Web 服务和其他各种类型的应用程序。.NET Framework 的设计方式保证它可以用于各种语言,例如:C#、C+、Visual B

20、asic、Jscript,甚至一些旧的语言,如COBOL。为此,还推出了这些语言的.NET版本。所有这些语言都可以访问.NET Framework,他们还可以彼此交互。C#开发人员可以使用Visual Basic程序员编写的代码,反之亦然。.NET Framework主要是为了实现下面的目标:1提供一致的面向对象的编程环境,而无论对象代码是在本地存储和执行还是在本地执行单在Internet上分布、或者是在远程执行。2提供将软件部署和版本控制冲突最小化的代码执行环境。3提供代码(包括由未知的或不完全受信的第三方创建的代码)安全的执行环境。第四:提供可消除脚本环境或解释环境性能的代码执行环境。第五

21、:使开发人员的经验在面对类型大不相同的应用程序(如基于Windows的应用程序和基于Web的应用程序)时保持一致。第六:按照工业标准生成所有通信,以确保基于.NET Framework的代码可与任何其他代码集成。2.2 C# 编程语言C#是用于创建运行在.NET公共语言运行库上应用程序的语言之一,它从C语言和C+语言演化而来,是Microsoft专门为使用.NET平台而创建的,并且考虑了其他语言的许多优点,例如Visual Basic的易用性。C#本身是面向对象的语言,C#还进一步提供了对面向组件(Component Oriented)编程的支持。现代软件设计日益依赖于自包含和自描述功能包形式

22、的软件组件。这种组件的关键在于,它们通过属性(Property)、方法(Method)和事件(Event)来提供编程模型并且还提供了关于组件的声明信息的属性(Attribute),并且还编入了自己的文档。C#提供的语言构造直接支持这些概念,这使得C#语言自然而然成为创建和使用软件组件的首选。C#具有几个非常优秀的用于构造健壮和持久应用程序的特性,如下所示:1垃圾回收将自动回收不再使用的对象所占用的内存。2异常处理提供了结构化和可扩展的错误检测和恢复方法。3类型安全的语言设计则避免了读取未初始化的变量、数组索引超出边界或执行未经检查的类型强制转换等情形。此外,C#还提供具统一的类型系统,所有C#

23、类型(包括int和string之类的基础数据类型)都继承自一个唯一的基类型:Object。因此,所有类型都共享一组通用的操作,并且任何类型的值都能以一致的方式进行存储、传递和操作。另外,C#同时支持用户定义的引用类型和值类型,既允许对象的动态分析,也允许轻量的内联存储。为了确保C#程序和库能够以兼容的方式逐步演进,C#的设计充分强调了版本控制。许多语言都不太重视这一点,导致采用那些语言编写的程序常常因为其所信赖的库的更新而无法正常工作。C#的设计在某些方面直接考虑到了版本控制的需要,其中包括单独使用的virtual和override修改、方法重载决定规则以及对显式接口成员声明的支持。2.3 套

24、接字(Socket接口)套接字(Socket)用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过套接字向网络发出请求或者应答网络请求。 Socket 接口是访问 Internet 使用得最广泛的方法。 如果你有一台刚配好TCP/IP协议的主机,其IP地址是202.120.127.201, 此时在另一台主机或同一台主机上执行ftp 202.120.127.201,显然无法建立连接。因202.120.127.201 这台主机没有运行FTP服务软件。同样, 在另一台或同一台主机上运行浏览软件 如Netscape,输入http:/202.120.127.201,也无法建立连接。现在,如果在这

25、台主机上运行一个FTP服务软件(该软件将打开一个Socket, 并将其绑定到21端口),再在这台主机上运行一个Web 服务软件(该软件将打开另一个Socket,并将其绑定到80端口)。这样,在另一台主机或同一台主机上执行ftp 202.120.127.201,FTP客户软件将通过21端口来呼叫主机上由FTP 服务软件提供的Socket,与其建立连接并对话。而在netscape中输入http:/202.120.127.201时,将通过80端口来呼叫主机上由Web服务软件提供的Socket,与其建 立连接并对话。第3章 系统分析与系统设计3.1 系统分析3.1.1 系统功能介绍本系统旨在完成两台主

26、机之间的通信。客户端能够从服务器上下载文件、上传文件、控制服务器的开关机和对服务器的远程实时控制。打开客户端应用程序之后,用户通过服务器的IP和开放监听的端口号进行登录验证,登录成功,表示能与服务器取得连接,也就能够实现两台主机之间的通信。客户端能够下载的文件主要是存放在服务器默认位置的文件,当需要下载时,客户端会列出服务器中所设置的默认位置的文件列表供用户选择。用户也可以下载其它位置的文件,但是需要自己输入文件所在路径和文件名。用户也可以上传文件,服务器中接收到文件后,会把上传的文件保存在所设置的默认位置。客户端远程控制服务器时,本地电脑的屏幕完成是服务器的屏幕,对键盘鼠标的操作也完成是对远

27、程服务器起作用。由于存在退出远程控制的服务器,因此设定了ESC键作为退出远程控制服务的按键。用户也可以控制服务器的开关机。开机时,用户通过发送服务器的MAC地址,便可实现服务器的唤醒。若要关机,则只需发送关机命令,服务器端根据命令自动完成关机操作。3.1.2 系统流程图 图31 系统流程图3.1.2 子模块流程图本系统旨在实现两台电脑之间的通信,这包括远程开关机的实现、文件传送与接收以及远程屏幕实时操作。3.1.2.1 远程开关机对于远程唤醒,是通过电脑的IP地址和MAC地址实现的,每台电脑都有唯一的MAC地址,它是在生产电脑时确定的。它的流程图如图32所示。图32 远程开机流程图远程关机,也

28、是用到IP地址,加上被关闭电脑的用户名和密码来实现。3.1.2.2 文件的传送对于单个文件,我们从本地选择要传送的文件,使用TCP协议与远程计算机实现网络互连。首先向服务器传送一个要发送文件的指令,并且一起把文件名字发送过去。服务器接收到信息后,在默认的位置下根据传送过去的名字创建一个文件。然后从本地读出要传送文件的流,考虑到文件可能会比较大,不能一次性传送给服务器,因此分批传送。文件传送的流程图如图33所示。对于文件夹,是把它中的文件一个一个传送过去,因此传送文件时和上面的一样。传送的时候会有子文件夹,因此在传送时要考虑相对路径的问题。传到服务器时也要根据相对位置创建相应的文件夹。传送文件夹

29、的流程图如图34所示。图33 传送子文件流程图图34 传送文件夹流程图3.1.2.3 文件下载在一个新的Form窗体中实现,先显示默认位置的文件名称列表,如果需要下载该列表中的文件,直接选择点击下载即可。如果需要下载其它位置的文件,则需要输入该文件的位置,才能完成下载。下载文件夹和文件是完全一样的,而且也是用的同一个Form窗体,只是在初始化的时候稍微改变一下。也要在下载按钮的代码中做一下检测,到底是要下载文件还是文件夹,这只需要一个BOOL变量。下载文件夹和上传文件夹的算法是一样的,因此它们的流程图也一样。这是不再重复给出。3.1.2.4 远程控制主要是能完成类似QQ远程协助的功能。在客户端

30、能够通过键盘鼠标模拟远程电脑敲键盘鼠标的功能,当然也需要把远程电脑的实时界面传递到客户端上。这主要就存在流量过大的问题,在本程序中是用限时的方法传送,一秒钟传送一张图片过来。图35 远程控制流程图3.2 系统设计3.2.1 客户端设计本系统的客户端是Windows Form应用程序,其中由三个窗体组成,分别是登录窗体、主界面和下载文件界面。3.2.1.1 登录窗体设计登录窗体,它上面有两个Label、两个TextBox以及两个Button。Label作为TextBox的说明,两个TextBox分别是服务器的IP号和端口号。Button则是一个登录、一个重置。其中登录键是测试能否连接到服务器的,

31、能够连接就登录,不能连接就会提示用户输入正确的IP和端口号。重置则是让TextBox1,也就是输入IP地址的文本框获得焦点。如果能够连接到服务器就登录系统,然后断开连接,这也是为了节约资源,也因为在其它操作时都有自己的连接,每个模块使用完了之后也会释放连接。3.2.1.2 主界面设计主界面上面就只有一个MenuItem菜单栏,上面的子项目有开关机、远程控制、传送文件和下载文件。开关机包括唤醒和关机;远程控制就一个项目;传送文件包括传送单个文件和传送文件夹;下载文件也包括下载文件和下载文件夹。点击相应的选项会弹出相应的操作界面。远程屏幕控制也是在主界面中完成的。当进入远程控制时,屏幕会切换的全屏状态,以方便观看与使用。在客户端进行相应的操作就如同在服务器端电脑上进行相应的操作。例如打开一个文件夹,运行一个程序等,也就是说能够在本地模拟远程电脑的键盘鼠标操作。但是由于网络传输速度的限制,因此不可能做到太流畅,操作起来也相对费劲。我也曾尝试过用图片相减的方法来减小传送的图片,不过这会有问题,就是相减算法会很大。我做过测试,在我的电脑上要完成1024768大小图片的相关操作,大概需要5秒钟。这样算下来就相当于要5秒钟才能传送

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1