远程控制软件发展至今,人们会根据自己的理解给其下定义,总结一下,远程控制,是指网络管理人员在不同的地方通过双方都接入因特网,WAN或异地拨号等方式,连接被管理的计算机,将对方计算机界面状态显示到自己的监控端电脑上,通过鼠标、键盘等操作实现对对方计算机的管理和维护的行为【2,3】。
2.2 远程控制中的C/S结构
C/S结构,即Client/Server结构【3】。它也称为客户端和服务器结构,其中,服务器-客户端是根据角色来界定的;而本地端-远程端是一个相对概念,依据不同的参照物,可以分别表示不同的角色。比如以服务器为参照物,可以称服务器为本地端,称客户机为远程端;而如果以客户机为参照物,可以称客户机为本地端,称服务器为远程端。本文采用的是以客户端为参照物,客户端为监控端,服务器为被监控端。
2.2.1 C/S模式的通信原理
Client/Server的通信原理如下图所示,服务器端首先创建一个Socket,接着监听一个固定端口,然后客户端通过Connect函数再连接到服务端,如果匹配成功,服务端便会执行Accept操作,然后接受客户端的请求连接。此时连接创建成功,则进行数据传输,待数据传输完毕,服务端和客户端就断开连接。客户端和服务器端是相对而言,本课题中谈到的客户端对应图中的Server端,而服务器端对应图中的Client端。
图2.1 Client/Server的通信流程
2.2.2 C/S结构的优点
Client/Server技术在当今迅速发展的程序开发中获得了很大应用,相比于B/S结构,这种结构的优点在于它将程序运行起来需要完成的工作按照一定的比例分配到客户端和服务器上去执行,这样减少了网络传输的宽带和工作量,从而充分合理地利用了资源,缩短了程序开发周期,提高了应用程序开发的效率。客户端和服务器之间经过简单的网线或者路由器等连接,充分提高了传输数据的效率。
3 相关技术
3.1 Visual C++的简介
Visual C++的资源编辑器使得编程人员能通过简洁明了的方式对应用程序的用户界面进行编辑,为所有资源分配ID标识号【4】。ClassWizard能把对话框模板与生成的类定义或与已有的类代码连接起来,为菜单项、控制等资源生成空的处理函数模板,创建消息映射条目,并将资源ID与处理函数连接起来[5,6]。很多人对AppWizard生成的程序框架不理解,其实调用AppWizard,程序技术人员只需要利用资源编辑器整洁明了的设计界面编写程序,可以不必理会那些代码,只要在空在需要的地方模板完善对话框代码或者添加响应用户事件的代码段即可。
但产品名“Visual C++”也容易误导人,让人认为自己使用的是一个与Microsoft Visual Basic类似的完全可视化的系统。然而,使用Visual C++,开发人员必须真正地阅读和编写C++代码。Visual C++因其界面简洁,占用资源少,操作方便使得其应用广泛,可以节省了开发软件的周期,但熟悉使用Visual C++还是需要下挺多功夫和时间的,它是Windows平台上的C++编程环境,学习VC++语言要了解很多Windows平台的特性并且还要掌握MFC、ATL、COM等的知识。论文网
3.1.1 Visual C++ 2010中MFC新功能
为了使编程人员能开发出成熟稳定、安全可靠的软件或者应用程序出来,在Visual C++ 2010中增强的MFC的部分功能,使之得以实现界面友好、功能稳定的应用程序。Visual C++ 2010中的MFC新功能包括: