基于Windows XP平台的远程控制软件的设计开发

时间:2022-10-03 10:56:08

基于Windows XP平台的远程控制软件的设计开发

摘 要:过去维修计算机需要技术人员亲临现场来检测问题和后续的维修工作,当故障主机数量不多且位置相对集中的时候比较可取。随着工作节奏的加快,技术人员并不愿意把时间浪费在路途中,因此远程控制就应运而生。本文主要讨论了在使用最广泛的操作系统平台上,基于非局域网的网络环境,设计开发一套面向中小型企业的简单实用的远程控制软件。

【关键词】Windows XP 远程控制 开发

0 引言

不得不说市场上的远程控制软件玲琅满目,种类繁多,常见的就多达十数种,其中网民使用最广泛的当属QQ的远程协助。但是QQ的远程协助功能是与QQ软件本身绑定安装和绑定运行的,无法单独运行,甚至无法单独安装。而且功能本身并不完善,带宽占用率高,内存、CPU占用率高,导致运行迟缓,常常出现不响应或长时间延迟响应的情况。然而市面上除了QQ的远程协助之外,多多少少都会收取一部分的费用,而且很多功能华而不实。少数免费软件除了本身效果不好之外,还会加以各种功能或数量限制,对家庭用户影响不大,但对于中小型企业的多主机,网络环境复杂的情况,就不太适用了。

1 总体构想

远程控制就是以网络为媒介让管理人员在原理计算机本体的情况下,对作业对象进行配置、软件安装程序、修改等工作。大致的实现方式是通过网络将被控计算机(服务端)的状态发送到控制端(客户端),然后通过在客户端上的操作来让服务端执行命令。

主要实现的功能有网络唤醒睡眠,后台模式,远程更新驱动,远程运行、安装和卸载程序,剪切板的共享,浏览方式切换、一对一和一对多通信,资源管理器的远程操作,文件下载、记录操作和限制带宽占用。

主要要解决的问题有(1)如何通过网络对接;(2)远程控制如何实现;(3)通讯模块如何构建;(4)如何实现数据加密;(5)图像如何处理;(6)操作界面如何设计。

2.1 如何完成客户端与服务器的对接

中小型企业内部一般都有一个局域网,但是这仅限于上班时间的使用,如果使用局域网内的点对点直连方式进行远程控制,就必须在上班时间进行维护,占用很多工作时间,也浪费了在家中的闲暇时间。而且如果工作人员外出,想访问公司内部文件,就比较麻烦了,所以如果通过第三方服务器来提供中转服务,进而穿透内网,就可以方便快捷地不受时间和地点限制地维护和访问企业内计算机。

2.2 远程操作的实现方式

远程控制实现的思路不外乎两种,要么是远程截图发送,要么是下载内核层次上服务端的运行状态在进行解析,指令在客户端执行。第二种方法乍一看上去十分节约流量,而且权限比较高,但是它和第一种方法比起来有一个致命缺点――上手难,对操作系统要求严苛。虽然第一种方式数据流量很大,但是非常直观,而且可以执行好,特别是在中小型企业环境中,员工使用的设备多种多样,操作系统覆盖了包括但不限于Windows、MacOS、Linux、Ubuntu、iOS和Android,所以第二种方案几乎无法实现,只能选用第一种方案。

2.3 通讯模块

众所周知TCP协议的安全性是很高的,通过三次报文的互换来实现握手,而且该协议的容量更大,较之UDP来说性能更好。但是UDP虽然不安全,容量小,但响应速度很快,所以可以将数据按安全要求的不同分开,一组是要保证安全可靠的控制命令,另一组是图像数据、文件数据和握手数据。前者用TCP,而后者使用UDP。

2.4 数据加密

常见的加密法中AES和RSA算法安全系数最高,其中RSA算法是非对称算法,暴力破解难度很大,所以可以使用RSA作为控制命令的加密,然后使用AES为文件传输加密。

另一方面,为了防止盗用登陆信息,可以将服务端与客户端通过数字秘钥绑定,服务端仅受控于主机和1台客户机,由于服务端绑定客户端,所以客户端只要进行本地验证即可登陆服务器,而不必先连网后登陆。

2.5 图像压缩

画面的传输是整个远程控制过程中最占用带宽的部分,因为人眼的刷新率是24Hz,所以服务端的画面捕捉频率一般都是25Hz,加上桌面面积太大,默认的色彩保真度又高,所以在传输服务端画面之前必须对显示输出数据进行优化。常见的优化算法是动态差量传输,通过对比来确定非活跃区域,然后使非活跃高度失真,是活跃区域降低失真,一方面保障了流畅度,一方面保障了视野的清晰度。但是这个算法还是会多算和少算一些区域,于是这里给出了一种优化方案,就是将颜色配置为16位,以动态差量法为主,辅以对顶置窗口的识别和对鼠标活动范围的识别。将顶置窗口之外的内容失真,具体失真方法可见下图

其中需要注意的是这里的鼠标活跃区域是指以鼠标为中心的面积为屏幕10%的矩形框,也就是说和系统自带放大镜功能类似,如果鼠标移出顶置窗口区域,去看其他地方那么鼠标所到之处也将有较高的保真。这样一来就能在保证看清内容的前提下进一步压缩带宽的占用。

2.6 操作界面

可以说服务端和客户端的桌面分辨率一样的情况几乎没有,所以不得不考虑如何在小屏幕上显示大屏幕的内容这个问题。常见的解决方法有滚动条法和缩放法,滚动条法是像浏览大面积网页一样需要拖动滚动条或者像即时战略游戏那样放到屏幕边缘自动挪动。缩放法则是强制将服务端的屏幕分辨率压缩到客户端的屏幕内,这样原内容就会变得很小不好辨认。有一种方案可以解决这两者的问题――强制减小服务端分辨率,使之与客户端一致,而其本身的屏幕并不用显示。这样就能保证显示完整且内容可辨认度高。

2 结束语

本远程控制软件在传统的方法和算法上加入了一些新的思考,部分功能还不是很完善,有待日后的不断调试和不断完善,从而提高用户体验。

参考文献

[1] 胡海波.基于windows的远程控制软件设计实现[D].山东大学,2012.

[2] 阮丽红.基于Windows的远程控制软件设计与实现[D].郑州大学,2008.

[3] 佘健,窦丽华,陈杰.基于TCP/IP协议的计算机远程控制软件的设计与实现[A].中国自动化学会控制理论专业委员会.第二十二届中国控制会议论文集(下)[C].中国自动化学会控制理论专业委员会,2003(4).

[4] 熊英,程玉,李军.远程控制程序设计[J].湖北工业大学学报,2006(4):127-129.

[5] 张莉.肖彦刚.Windows XP系统中的远程控的实现[J].科协论坛(下半月),2007(10):103+114.

作者单位

安徽省合肥市合肥学院 230601

上一篇:黑夜中的魔术师 下一篇:第一次给宝宝添加辅食实战指导