论文部分内容阅读
现在人类已经迈进信息化时代,网络通信体现在各个领域,怎样充分利用网络带宽获得最快的下载速度,从而达到时空和效率的统一是信息化时代的必然趋势。现在人们之间的文件传输越来越频繁,数据在传送的过程中可能因为网络中断或断电而中断文件传输。为了应对这些突发事件,开发了支持断点续传和多线程的下载软件,从而避免了资源的浪费并且加快了下载速度。此外本软件具有界面清新简单,内存占用小,启动快、显示详细下载信息、设置下载参数等优点。本文利用VC++的MFC框架进行编程,MFC的封装和继承特性使得开发的软件具有很好的稳定性。同时MFC框架中封装了与网络编程相关的CSocket类,利用此类进行套接字编程,可以进行大批量和有序的数据传输,不仅实现了传输的协议支持,而且保证了数据在传输过程中的无差错和不重复。通过多线程技术的研究,阐述了客户端和服务器的下载过程,根据下载过程的流程图实现了多线程函数之间的调用。在线程创建后利用线程类中的同步访问对象保证了各个线程间的协调工作,同时可以调用线程优先级、挂起和恢复等函数进行线程间的调度。各个线程文件下载完成后,对文件进行读写操作,把各个线程的文件拼接成完整的下载文件。最后对软件实现的功能进行测试,分别测试了在断电和断开网络连接两种情况下文件的续传,验证了续传功能的实现。多线程下载的测试采用了速度对比的方法,给出了单线程和多线程速度比较,得出了多线程下载速度确实比单线程要快。通过开发支持断点续传和多线程下载的软件可以看出,多线程通信对于追求高效率执行时间的领域是很有用的。可以把多线程技术推广到工程控制中,利用多线程中主线程和辅助线程的关系,可以在主线程中实现一些重要的初始工作并协调各辅助线程。辅助线程就可以安排在后台实现一些耗时的任务,按照线程优先级进行调度,实现高效率的操作。