摘 要
今天,许多企业和增值分销商正在把远程控制技术作为有效的技术支持工具,许多网络管理员都采用这类软件对局域网进行远程管理。远程管理软件对于出差在外的商务人员用处非常大,这样他们可以随时提取自己家里计算机中的数据和资料。本文介绍的软件用C++语言编写而成,能通过一台主机控制网络上的一台或多台远程主机的键盘。软件采用了C/S模式,即客户端/服务器端模式。客户端对服务器端进行监控操作,服务器端接收客户端传输的数据并进行分析和执行。本文首先对远程控制软件的原理和WinSock技术作了介绍,最后阐述了如何利用 WinSock 控件与远程计算机建立连接,实现控制按键的功能。http://www.16sheji8.cn/
关键词: 套接字;客户端/服务器模式;远程控制;模拟按键
The Design and Development of the Remote Control Software
——Remote Keyboard Controlling
Abstract
Today, many enterprises and retail traders are using the remote control techniques as an effective technique support tool, and many network administrators use such kind of software to remotely manage their LANs. Remote control software is also very useful to business persons for them to retrieve data and materials in their personal computers at home from any where and at any time. This software introduced in the paper, was written with C ++ language and can control the keyboards of one or many remote computers on the network. The software adopts C/S pattern (Client/Server). The client side controls and operates the server, which receives the data transmitted from the client side and explains and carries out the commands. This paper first introduces the principle of the remote control software and WinSock technology, then explains how to use WinSock to connect to the remote computer,and how to implement the keyboard controlling functions.
Key word: Socket; Client/Server; Remote Controlling; Simulating Keyboard Events
目 录
论文总页数:26页
1.引言 1
1.1 课题背景 1
1.2 国内外研究现状 1
1.3 本课题研究的意义 1
1.4 本课题的研究方法 1http://www.16sheji8.cn/
2. 远程控制概述 2
2.1 远程控制概念 2
2.2 远程控制与其他程序的区别 2
2.2.1 远程控制与病毒的区别 2
2.2.2 远程控制与黑客的区别 2
2.2.3 远程控制与木马的区别 3
3. 控制远程按键的背景技术介绍 3
3.1 WINSOCKET的介绍 3
3.1.1 Socket的基本概念 3
3.1.2 Winsocket 3
3.2 客户端/服务器(C/S)模式 3
4.控制远程按键程序的需求分析 4
4.1控制远程按键的需求分析 4
4.2控制远程按键的流程分析 4
5 远程按键控制的实现 5
5.1 使用WINSOCKET建立控制端和被控制端连接 5
5.1.1 初始化Winsock 5
5.1.2 创建套接字 6
5.1.3 指定本地地址 7
5.1.4 建立套接字连接 7
5.1.5 监听连接 9
5.1.6 关闭套接字 9
5.2 按键事件处理 9
5.2.1 数据传输 9
5.2.2 模拟按键 10http://www.16sheji8.cn/
5.3具体代码 10
结 论 23
参考文献 24
致 谢 25
声 明 26
1.引言
1.1 课题背景
我们知道,通常企业内部或者IT公司的客户技术支持部门都有技术支持业务,其任务是通过电话解答疑难问题,努力减少技术人员到现场服务或者让用户把设备送到支持中心进行维护。这种技术支持方式尽管被普遍采用,但效率不高而且大大增加了技术支持成本。通常,技术支持必须依赖技术人员和用户之间的口头交流来进行,这种交流既耗时又容易出错。许多商业用户对计算机知之甚少,然而当遇到问题时,他们必须向技术人员提供故障情报及相关操作。在尝试解决问题时,技术人员可能指导用户执行一系列复杂的过程,而这些过程对用户来说或许完全不熟悉;如果用户不能正确的按要求操作,反而使问题恶化。此外,如果通过电话不能解决问题,那么技术人员亲自到用户现场解决问题之前,计算机将一自不能使用。http://www.16sheji8.cn/
远程控制软件能使技术人员直接操作远程计算机,就像操作本地机器一样,无须用户介入,技术人员技能得到该机器的问题的第一手材料,从而加快了问题的解决。实际上,使用远程控制工具的技术人员能够做到解答疑难问题,安装和配置软件,把软件下载到用户计算机上,配置应用程序和系统软件设置并可通过实际操作培训用户。
1.2 国内外研究现状
根据IDC统计,美国远程控制软件市场从1998年的6.77亿美元发展到2002年的19亿美元,年增长率达31.5%,是软件技术支持消费中第3个增长最快的领域。
国内的远程控制软件发展也比较乐观,出现了许多优秀的软件,比如大家都比较熟悉的“冰河”,“灰鸽子”等。
1.3 本课题研究的意义
远程控制软件已经使用很多年了,起初是为了让PC用户在离开办公室的时候能访问其台式PC硬盘中的信息,甚至可以通过其台式PC访问企业网络资源。今天,许多企业和增值分销商正在把远程控制能力作为有效的技术支持工具。许多网络管理员都采用这类软件对局域网进行管理或者在自己家更新自己网站的内容。这类软件对于出差在外的商务人员用处非常大,这样他们可以随时提取自己家里计算机中的数据和资料。http://www.16sheji8.cn/
1.4 本课题的研究方法
本软件用C++语言编写,采用的是C/S结构,一个客户端,一个服务器端。客户端是控制端,服务器端是被控制端。主要功能就是通过本地计算机,控制远程另一台计算机的键盘。主要思路是先用Winsocket建立两边的连接,客户端向服务器端发送键码,服务器端得到键码后模拟出按键事件。