VC++局域网远程控制软件的设计(4)
时间:2021-04-21 20:10 来源:毕业论文 作者:毕业论文 点击:次
(1)便于生成Windows 7 应用程序 Visual C++ 2010提供了为本机Windows API编写代码所需的Windows SDK组件。此外该版本还可以在增强的MFC的帮助下更轻松地编写Windows环境下的应用程序。可通过MFC库访问主要的Windows 7 功能,而不必直接写入本机API。在Windows 7中使用MFC编程,用户体验得到很大的改善,改动程序之后编译调试也很方便。 (2)增加了重新启动管理器 计算机在运行过程中出现各种故障是难以避免的,例如不小心电脑便死机了、调试程序时出现应用程序错误、又或者不小心删除掉相关文件等等,这样子的话,我们之前的辛辛苦苦撰写的代码将前功尽弃,多么令人沮丧的事情。但是,在Visual C++ 2010中增加了重新启动管理器的功能,万一发生以上意外的事情,无论是重新启动计算机还是应用程序编辑,它都可以恢复到之前发生意外的状态,不至于让程序员的工作成果因为机器故障或人为操作问题而丢失。 (3)使用任务对话框 同一性质的软件不断改进,推广新的版本,最终目的都是为了方便人们的使用和创造满意的生活,在Visual C++ 2010里,引用任务对话框,来取代了先前广泛使用于各软件版本的消息框。与消息框相比,任务对话框不进尅向用户显示消息,还可以显示自定义的按钮、命令行选项以及更加丰富的辅助信息等。新增的CTaskDialog类有很多的配置选项可供选择。使用最简单的配置时,它的行为就像一个经典的消息框,但是在更多高级应用中它有进度条,自定义按钮或者单选按钮。它甚至可以在其上设置超链接或是建立简单的向导应用,使用任务对话框来改善用用程序的用户体验。 3.2 Winsock基本概念 20世纪90年代初期,Microsoft公司为了使Windows环境中的Socket编程规范化和标准化,特制定Windows Socket规范,简称Winsock,即网络编程接口,它的出现于发展,进一步完善了网络编程技术。 Windows Sockets是在Windows环境下使用的一套网络编程规范,常常简称为Winsock。Winsock规范并不是一种实际的网络协议,它是Windows下得到广泛应用的、受欢迎的、支持多种协议的网络编程接口。从1991年的1.0版到1997年的2.2.1版,经过不断完善并在Intel、Microsoft、Sun、SGI、Infomix、Novell等公司的大力支持下,现在已经成为Windows环境下网络编程事实上的标准。进行Winsock开发使用的编程语言很多,其中VC 使用最普遍。文献综述 3.2.1 Winsock两种I/O模式 Winsock提供了两种I/O模式:阻塞模式与非阻塞模式【7】。 在阻塞模式下,用于收发数据的Socket函数被调用后,直到传输完毕或出错后才完成。简而言之,在Socket函数被调用返回之前,这个套接字处于等待状态,这之前不能进行任何其他操作,调用它的进程也会处于挂起的状态。例如,应用程序在调用Send()函数后,需要花费一段时间来等待响应数据返回,该进程在这段时间中无法继续执行。阻塞套接字的其中一方面缺点是:阻塞就是会一直等待,所在线程一直停在那里,使得通信停滞不前。一种能解决阻塞模式下传输数据的切合性研究途径是:适当添加部分开销,给每个Socket对应的分配一个数据处理线程和一个读线程。但同时会有问题出现,便是它扩展性不好,之后想一个时间内处理比较大的套接字就不大简单便捷了。 在非阻塞模式下,收发数据的Socket函数被调用后,该函数将会立即返回,调用该函数的进程可以继续执行。当Socket函数要执行的功能完成后,Winsock的DLL发送一个事先约定的消息,进程根据这个消息做出相应的处理。简单说,非阻塞模式下进程就会跳过等待的那一步,继续执行下一步,等过会看看那一步能不能执行,能执行就执行,不能执行就继续下边的。非阻塞模式充分运用了Windows系统的消息网络事件选择驱动机制。非阻塞模式套接字相比于阻塞模式,其进行了部分扩展,使得功能变得更强大。只是技术上使用存在一些难度,科技发展的社会是有技术解决这些问题,这也是它成为热门的原因。 (责任编辑:qin) |