论文部分内容阅读
伴随着网络的普及,计算机远程控制技术显示出了越来越重要的作用。它在远程办公、远程教学、远程维护、远程协助等诸多领域都有广泛的应用,极大地便利了人们的生活。同时由于互联网络的开放性,远程控制技术对网络资源的安全构成了很大的威胁。因此很有必要对远程控制技术进行深入研究。基于IOCP (I/O完成端口)模型的网络应用程序能够有效地管理大量的网络连接,并且往往能够达到系统的最佳性能,同时该模型还具有很强的可扩展性。目前该模型被广泛应用于网络服务器编程中。本文以IOCP模型为核心,结合Select网络模型与WSAEventSelcet网络模型,采用TCP/IP协议实现了一个多点远程控制系统。本论文具体的工作包括以下几点:(1)研究了远程控制技术的原理和特点。分析了该技术目前的发展状况和今后的发展趋势,并对目前该技术面临的主要问题进行了总结。(2)分析了本系统在设计过程中需要用到的技术。包括TCP/IP协议、Windows网络编程和Windows多线程编程。研究了几种屏幕图像拷贝算法的实现原理,包括差异比较法、隔行扫描法和XOR(异或)算法。对目前在数据压缩方面常用到的几种压缩算法进行了比较。(3)以OOP(面向对象程序设计)思想为指导,利用IOCP、Select、WSAEventSelect网络模型,在VC++6.0平台上设计并实现了一个多点远程控制系统。在系统中采用了差异比较法和隔行扫描法两种屏幕拷贝算法实现对被控端屏幕的监控。控制端可以通过鼠标键盘对被控端进行操作。测试结果表明:基于IOCP的远程控制系统能够同时对多个客户端进行有效远程控制。与传统上一条线程服务一个客户端的方法相比,IOCP模型具有更低的CPU使用率,更高的CPU利用率,对客户端的响应更加及时。从屏幕图像的数据量来说,差异比较法的数据量小于隔行扫描法,但是从帧速率来说,隔行扫描法的帧速率可以达到60帧/秒,而差异比较法仅仅只有4-6帧/秒,结合这两方面来考虑,隔行扫描法的性能明显优于差异比较法。