You are on page 1of 4

・ !"#・ 计算机应用研究, !

""( 年

基于 !"#$%&’ 通信的远程屏幕抓取方法与实现 !
朱东辉
( 湘潭大学 信息工程学院,湖南 湘潭 #&&&"()

摘, 要:论述了在 -./0123 !""" 操作系统平台下运行的远程控制屏幕抓取软件设计思路与开发技术。使用


-./4156 网络编程和 789 网络编程技术,系统采用 9 : 4 模式,9;.</= 端运用了 789 和 4>? 混合编程的方法,调
用 -./4156 控件和 @AB 函数来实现控制操作,4<CD<C 端主要是运用 -./4156 完成屏幕抓取与数据传输。实验结
果表明,该方法能方便、快捷地实现远程屏幕控制的数据传输与显示。
关键词:远程控制;-./4156;屏幕抓取
中图法分类号:EAF+FG "+, , , 文献标识码:@, , , 文章编号:&""&$ F’+(( !""()"H$ "!"#$ "F

I<J1=< 71/.=1C >.3K;LM ./ B/=<C/<= NL3<0 1/ -./4156 91JJO/.5L=.1/


PQR >1/S$TO.
( !"##$%$ "& ’(&")*+,-"( .(%-($$)-(%,/-+(%,+( 0(-1$)2-,3,/-+(%,+( 45(+( #&&&"(,!6-(+)

!"#$%&’$:>.35O33<3 LU1O= T12 =1 S<= L/0 0.3K;LM =T< C<J1=< J1/.=1C ./V1CJL=.1/ 1/ ;15L=.1/ 51JKO=<CW R3./S =T< -./4156
L/0 789 KC1SCLJJ./S =<5T/1;1SM,.= 5L/ C<L;.X< =T< 9;.</= L/0 4<CD<C =1 51JJO/.5L=< =T< 0L=L UL3<0 1/ @ABW
()* +,%-#:I<J1=< 91/=C1;;-./4156;45C<</ 9LK=OC< L/0 ECL/3J.33.1/

, , 远程控制软件的使用已经有许多年了,当初是为了让 A9 除此之外,基于远程服务的远程控制最适合的模式是一对
用户在离开办公室的时候能访问其台式 A9 硬盘中的信息,甚 多,即利用远程控制软件,我们可以使用一台电脑控制多台电
至可通过其台式 A9 访问企业网络资源。近年来,随着 A9 的 脑,这就使得我们不必为办公室的每一台电脑都安装一个调制
广泛应用和网络的不断发展,网络技术已经成为计算机领域内 解调器,而只需要利用办公室局域网的优势就可以轻松实现远
一个最为热门的发展方向。目前,许多企业和增值分销商正把 程多点控制了。在进行一台电脑对多台远端电脑进行控制时,
远程控制能力作为有效的技术支持工具,很多网络管理员都采 不难发现,远程控制软件似乎更像一个局域网的网络管理员,
用这类软件对局域网进行管理或在家更新自己网站中的内容。 而提供远程控制的远程终端服务就像办公室局域网的延伸。
对于远程控制的定义有很多种,一般认为,远程控制指管 这种一对多的连接方式在节省了调制解调器的同时,还使得网
理人员在异地通过计算机网络,连接目标计算机,通过本地计 络的接入更加安全可靠,网络管理员也更易于管理局域网上的
算机对远程计算机进行管理和维护的行为。而远程控制软件 每一台电脑。
实际上是一种客户机 : 服务器程序,服务器程序安装在被控制
的计算机端,客户程序安装在控制端。在客户端和服务器端都
! , 系统设计
安装成功之后,客户端在网络上搜索已经安装了服务器的远程 编写一个远程控制程序,可以通过网络控制网络中的某台
计算机,然后客户端就发送指令获得服务器端的连接指令,两 计算机,可以对它进行启动和停止操作,使之随时可以形成上
台 A9 建立了连接,就可以通过网络的互连协议 E9A : BA 进行 下位机的控制与管理模式,并可对其硬件进行控制。一个完整
远程控制。当操作者使用主控端电脑控制被控端电脑时,就如 的远程控制系统由硬件部分、软件部分和具体连接部分组成。
同坐在被控端电脑的屏幕前一样,可以启动被控端电脑的应用
!G !, 系统结构设计
程序,可以使用被控端电脑的文件资料,甚至可以利用被控端
整个工程可以分为两部分,分别编译可执行文件。其中一
电脑的外部打印设备( 打印机)和通信设备( 调制解调器或者
个为服务器程序,也就是监控程序,潜入服务端内部,获取其操
专线等)来进行打印和访问互联网。不过,这里所涉及到的只
作权限,采集系统信息,并打开服务端某一默认端口进行监听,
是主控端电脑将键盘和鼠标的指令传送给远程电脑,同时将被
等待控制端的命令,并作出相应的反应。另一个是控制端程
控端电脑的屏幕画面通过通信线路回传过来。也就是说,我们
序,负责发送控制码控制服务器。系统体系结构如图 & 所示。
控制被控端电脑进行操作似乎是在眼前的电脑上进行的,实质
是在远程的电脑中实现的,不论打开文件,还是上网浏览、下
载,所有的资料都是存储在远程的被控端电脑中的。

客户端 使 用 了 789 和 4>? 混 合 编 程,其 中 界 面 使 用


收稿日期:!""#$ "%$ &’;修返日期:!""#$ &&$ !( 789,线程、-./4156<= 使用 4>?,这样做的目的是在写界面时
万方数据
基金项目:湖南省自然科学基金资助项目("!))*!"+&) 更方便,同时又不会影响到服务器端。客户端发送给服务器的
第Z 期 朱东辉:基于 E@7C0#D 通信的远程屏幕抓取方法与实现 ・’. )^. ・.

命令表格式为:!,",#,其中 ! 是表示命令,只有一位 $%!&;" 是 个是指向 $H#F@478IFG 类的指针数组 JK$0774#8[ ],每个元素指


第一个参数长度在 ’() 以内;# 是第二个参数,长度在 ’() 以 向一个 $H#F@478IFG 对象,代表一个被控端。当用户发出一个
内;它们总长度不能超过 *))。 连接被控端的请求后,其连接操作是:J2$0774#8[)]M 74N $H2
相关命令及其功能如下:
+’,:测试连接、得到驱动器、浏览 #F@478IFG( 8%@3);其中,O%@3 指针代表着框架窗体的对象指针。
目录文件( 夹)、查看屏幕、鼠标事件、打开文件、下载文件、锁 接着调用 $H#F@478IFG 类的 $0774#8C0#D48 成员函数:J2$0774#8
定对方、解锁、屏幕写字、删除文件、使对方退出程序。客户端 [)]2 P $0774#8C0#D48( J)L!7;F4[ )]);其中 J2L!7;F4[ )]时被
接收命令后作出判断并执行命令。 控制端的 >? 地址或计算机名。
!- ". 屏幕抓取方法 $H#F@478IFG 类 的 成 员 函 数 $0774#8C0#D48 完 成 $3D8$F@478

当客户端以系统管理员身份进入服务器计算机,异地控制 对象的创建、连接等一系列工作。代码如下:
Q Q 建立连接
服务器计算机,可以像对本地计算机一样对其进行操作。远程
=RRS $H#F@478IFG::$0774#8C0#D48( $38@7G 38&FT)
模拟鼠标及键盘输入,运行服务器计算机上的可执行程序,修 {Q Q 创建客户插口
改其系统设置,控制其硬件设备。控制端发送鼠标动作( /012 . J2T$3D8$F@478 274N $3D8$F@478( 8%@3);
. @A( !J2T$3D8$F@478 2 P $&4!84( ))
3456478( )函数)或键盘输入抓取屏幕的命令给服务端,服务端 . {Q Q 错误处理
接收后响应其命令,
返回响应结果信息给控制端,抓屏后,将位 . . ;4F48 J2T$3D8$F@478;
图文件传给控制端。要实现此功能,只需在被控方计算机软件 . . J2T$3D8$F@478 M UVSS;
. . <AW/433!G4=0W( X 插口创建失败X );
中使用 /013456478 和 94:";56478 函数就可以。当远程控制端 . . Y481&7 B<SC5;
计算机发布键盘、
鼠标命令时,
被控方计算机就调用 /013456478 } Q Q 发送连接请求
. . N%@F4( !J2T$3D8$F@478 2 P $0774#8( 38&FT,
*)Z)))
和 94:";5647 函数,可以发出相应的键盘、鼠标的模拟动作。
. . {Q Q 无法连接被控端
!- "- !. 系统工作过程 . . . @A( <AW/433!G4=0W( X 无法连接服务器 [ 7 重试?X ,/=2\5C2
本远程控制系统的工作大致分为以下五步:配置监控程 UR)—>IUR)
. . . {Q Q 错误处理
序、运行监控程序、信息反馈、建立连接和远程控制。在系统 . . . . ;4F4F84 J2T$3D8$F@478;
中,监控程序连接的建立,首先必须满足两个条件:一是服务端 . . . . J2T$3D8$F@478 M UVSS;
已安装了监控程序程序;二是控制端、服务端都要在线。在此 . . . . &481&7 B<SC5;
. . . . }
基础上控制端可以通过监控程序端口与服务端建立连接,其示 . . . } Q Q 创建 $30#D48 B@F4 对象
意如图 ’。 . . . J2TB@F4 M 74N $<&#%@64( J2TB@F4,$!&#%@64::F0!;);
. . . J2T<&#%@64R18 M 74N $!&#%@64( J2TB@F4,$!&#%@64::380&4);
. . . &481&7 OYV5;

(’)数据收发过程。数据的接收是由插口来自动完成的。
当数据到达控制端的缓冲区后,系统将自动调用 $3D8$F@478 类
的 $H#F@478IFG( )回调函数。此 R7&4#4@64( )函数并不进行数
如图 ’ 所示 < 机为控制端,= 机为服务端,当 < 机与 = 机 据的接收工作,而是通过调用 $H#F@478IFG 类的成员函数 $H#F@2
建立连接后,控制端只要搜索这个 >? 地址段就可以找到 = 机 478IFG::$H#F@478IFG( )来完成数据接收。以上是数据接收的
了。远程控制是在连接建立后,控制端端口和服务端口之间将 过程,数据发送比较简单,只需在主程序中直接调用 $H#F@4782

会出现一条通道,控制端上的控制端程序可借这条通道与服务 IFG 对象的 C47;/3G 函数即可。

端上的服务端程序取得联系,并通过监控程序对服务端进行远 (*)被控端通信层的编制。被控端是控制通信层的另一

程控制。 端,所以被控端的通信层大致与控制端相同。除了 $/3G 类、


$3D8$F@478 类和 $H#F@478IFG 类以外,被控端 增 加 了 一 个 $3D82
!- "- ". /+(0)12 通信及使用
远程控制软件属于网络编程的范畴,要进行网络编程,使 $F@478 的类,其基类也是 $C0#D48。$3D8$F@478 只有一个成员变
量,是指向框架窗口的指针 JKTIFG,成员函数主要是 R7!##4T8
用 /@#&030A8 基本类库( /B$)提供的 $C0#D48 类。$C0#D48 类为
回调函数。因为被控端相当于是通信中的服务器,所以在被控
E@7C0#D<?> 提供了高级编程接口。$C0#D48 类可以和 $C0#D482
端程序的初始化阶段,需要创建侦听插口。其代码如下:
B@F4 类、$<#%@64 类一起工作来处理数据的发送和接收,从而使
Q Q 创建侦听插口对象
用户避免手工处理字节顺序、字符串顺序等问题,而且 $C0#D48 . JTS@3847C0#D48 M 74N$F@3847( 8%@3);
类提供的阻塞调用功能恰好是使用 $<#%@64 类进行同步数据 . Q Q 开始侦听
. @A( J2TS@3847C0#D482 P $&4!84( *)Z)))
传输的最基本要求。并通过使用 /B$ $30#D48 类实现远程控
. {Q Q 判断
制通信,远程控制用三个类实现控制端通信层,分别是:$/3G、 . . @A( !J2TS@3847C0#D482 P S@3847( ))
$3D8$F@478 和 $H#F@478IFG。下面结合具体代码来说明这三个类 . . {
. . . <AW /3433!G4=0W( X 侦听失败X );
的作用。
. . }
(+)建立连接。在编写具体程序代码时,设置了两个全局 }
变量。一个是 $C8&@7G 类型的数组 JKL!7;F4[ ],其中数组成员 (])控制功能模块的实现
万方数据 每个元素代表一个被控端的标志;另一
个数代表被控端个数, 建立起控制端和被控端的通信层后,就可以进行远程控制
・ P/Q・ 计算机应用研究; P//e 年

具体功能的实现了。 ?7L*<X7ZJVYA<"AN 结构包含设备独立位图( "7?)的维数和


!控制端向被控端发送消息 颜色格式信息。
控制端主程序中的发送消息的代码如下: "W "; 相关函数及对象选择
!"#$% & ’()*+,,+-.[ /]0 1;2 2 发送文本消息
3)5>95"3( )函数,3)5>95"3( )函数为指定的设备创建设备
345.6"#$ 6#$;
78( !!"#$% & 3-..5’94-’:59( )) 上下文;3)5>953-G!>9+[#5?+9G>!( )函数,3)5>953-G!>9+[#5?+9G>!
{ ( )函数初始化位图设备;45#5’9V[\5’9( )函数,45#5’9-[\5’9( )
; <8=*5,,>$5?-=( @ 无法连接@ );
; A.6B>+93C),-)( ); 函数选择一个对象放进设备上下文,新的对象将代替原来的同
; )59C).; 类型的对象。如果选择的对象不是一个区域且函数调用成功,

则 45#5’9-[\5’9( )函数返回被代替的对象句柄。如果选择的对
; 2 2 发送
; ,5.6( !"#$% & ,:93#+5.9,!"#$% & ’()*+,,+-., /);
D//, 象是一个区域器函数调用成功,则 45#5’9-[\5’9( )函数返回被
在主程序中弹出一个模式对话框,获取用户的文本输入, 代替的对象句柄。如果选择的对象是一个区域且函数调用成
接着,调用 34-:59 类的成员函数 45.6 将数据发送出去。当被 功,则 45#5’9-[\5’9( )函数返回下列值:47*XKANAE7VZ( 一个
控端收到这个数据后,首先进行解析,当读到命令字符是“1”, 矩形区 域)、3V*XKA]NAE7VZ( 多 个 矩 形 区 域)及 ZIKKNA%
便将数据作为一条文本消息显示出来。 E7VZ( 空区域)。如果发生错误,且选择的对象不是区域,则
"得到驱动器信息 45#5’9-[\5’9( )函数返回 ZIKK;否则,返回 E"7HANNVN。
E59")+F5)7.8-( ) "W #; 服务端截屏及传送程序及说明

; !49>9C,"#$% & GH,9)49>9C,*,$ 0 @ 正在连接@ ; 45.64’)55.( )
; !49>9C,"#$% & I!6>95">9>( J<K4A); {
; +8( !3-..5’94-’:59( )) H*^4’)55.7.8- 4’)55.7.8-;
; { 4’)55.7.8-M 4’)] 0 E594^,95G*59)+’,( 4*H3]43NAAZ);
; ; <8=*5,,>$5?-=( @ 无法连接@ ); 4’)55.7.8-M 4’)_ 0 E594^,95G*59)+’,( 4*H3_43NAAZ);
; ; )59C).; Y"3 (6’G^,([C885)6’;
; } Y?7L*<X (?+9,(V#6?+9G>!;
; GHL)55M "5#595<##795G,( );2 2 清空目录树 (6’G^ 0 3)5>95"3( @ "74XK<_@ ,ZIKK,ZIKK,ZIKK);
; GHK+,9M "5#595<##795G,( );2 2 清空文件列表 2 2 得到屏幕 Y"3
; ,5.6( ,:93#+5.9,’()*+,,+-., D//, /);2 2 发送命令的格式 ([C885)6’ 0 3)5>953-G!>9+[#5"3( (6’G^);
; !49>9C,"#$% & GH,9)49>9C,*,$ 0 @ 下载信息@ ; 2 2 建立相容的 2 2 Y?7L*<X
; !49>9C,"#$% & I!6>95">9>( J<K4A); (?+9 0 3)5>953-G!>9+[#5?+9G>!( (6’G^,4’)55.7.8-M 4’)] ,4’)55.7.%
; )5’F( ,:93#+5.9,’()N5’5+F5, D//, /);2 2 接收服务端返回信息 8-M 4’)_ );2 2 把屏幕 ’-!^ 到内存
; 8-)( +.9 + 0 /;+ O 0 PQ;+ R R )2 2 轮询 PQ 个驱动器盘符 (V#6?+9G>! 0( Y?7L*<X)45#5’9V[\5’9( ([C885)6’,(?+9);
; { 49)59’(?#9( ([C885)6’,/,/,4’)55.7.8-M 4’)],4’)55.7.8-M 4’)_,(6’%
; ; +8( +,>#!(>( ’()N5’5+F5[ +])) G^,/,/,4’)55.7.8-M 4’)],4’)55.7.8-M 4’)_,4N33VX_);
; ; { 2 2 得到最终的屏幕颜色
; ; ; +8( ’()N5’5+F5[ +]0 0 S?S) (?+9 0( Y?7L*<X)45#5’9V[\5’9( ([C885)6’,(V#6?+9G>!);
; ; ; ; ’-.9+.C5; 2 2 释放内存
; ; ; 349)+.$ ,9); "5#595V[\5’9( (V#6?+9G>!);
; ; ; ,9)M J-)G>9( @ T ’:@ ,’()N5’5+F5[ +]); N5#5>,5"3( ZIKK,(6’G^);
; ; ; GHL)55M 7.,5)9795G( ,9),LU7HNVVL,LU7HK<4L ); N5#5>,5"3( ZIKK,([C885)6’);
; ; } Y<Z"KA ("+[;
; } ("+[ 0 ""?P"7?( (?+9);2 2 取得位图文件
; !49>9C,"#$% & GH,9)49>9C,*,$ 0 @ 完成@ ; "5#595V[\5’9( (?+9);
; !49>9C,"#$% & I!6>95">9>( J<K4A); KX?_LA !#G>$5X-+.9;
; ’#-,5,-’:59( ,:93#+5.9); 4’)55.7.8-M 6‘4+a5 0 E#-[>#4+a5( ("+[);

+.9 49-!J#>$;2 2 设置标志
,5.6( ,:93#+5.9,
( ’(>) ! )b4’)55.7.8-,,+a5-8( 4’)55.7.8-)R c,/);
" ; 远程屏幕抓取的实现 2 2 送信息给客户端
)5’F( ,:93#+5.9,
( ’(>) ! )b49-!J#>$,,+a5-8( +.9)R c, /);2 2 传送
远程屏幕抓取就是在被控制端抓取当前屏幕,形成一个位 !#G>$5X-+.9 0( KX?_LA)("+[;
8-)( BVN" + 0 /;+ O( 4’)55.7.8-M 6‘4+a5 2 4AZ"?KV3d);+ R R )
图文件,然后把该文件发送到控制端计算机并显示出来。这里

主要需解决好屏幕抓取的大小定位、数据存储和传输等问题。 ; ,5.6( ,:93#+5.9, ( ’(>) ! )!#G>$5X-+.9,,+a5-8( ?_LA )! 4AZ"%
?KV3d, /);
"W !; 相关的结构说明
; !#G>$5X-+.9 0 !#G>$5X-+.9 R 4AZ"?KV3d;
为了能解决屏幕抓取时大小的问题,对抓取的屏幕区域要 ; )5’F( ,:93#+5.9,( ’(>) ! )b49-!J#>$,,+a5-8( +.9)R c,/);
进行定义,这包括:!NA3L 结构,NA3L 数据结构定义了一个 }
+8( 4’)55.7.8-M 6‘4+a5 T 4AZ"?KV3d)
矩形区域的左上和右下的坐标;"L*<X 结构,?7L*<X 结构定 {
义一个逻辑位图的高、宽、颜色格式和位值等信息;# ?7L*% ,5.6( ,:93#+5.9,
( ’(>) ! )!#G>$5X-+.9,,+a5-8( ?_LA)! 4’)55.7.8-M 6‘%
<XJ7KAYA<"AN 结构,?7L*<XJ7KAYA<"AN 结构定义了包含 4+a5T 4AZ"?KV3d, /);}
E#-[>#J)55( ("+[);
设备独立位图( "7?)的文件类型、大小和文件布局;通常在使 )59C).;
万方数据
用时,后面紧跟 ?7L*<X7ZJV 结构;$?7L*<X7ZJVYA<"AN, } ( 下转第 P/1 页)
第$ 期 康1 剑等:一种新的 4’*+ 网络故障恢复算法 ・!1 "/1 ・1

仿真实验采用如图 ! 的网络拓扑结构,由节点 " 向节点 性以及恢复时间有了明显改善。平均时延和包数波动较小,总


#$ 发送恒定的 %&’ 流量,在 "( $),工作路径中某个 *+, 发生 体表现优于现有的方案。
故障,持续 "( -) 后恢复。做了六组实验,故障节点分别为 *+, 进一步的研究将在更为复杂的网络拓扑中进行,针对不同
-,
.,/,
##, #-。表 # 为实验中三种方案的最小、最大时延、
#0, 类型的流量及 CD+ 要求,多故障点,
# #或# E 的保护类型以
平均时延、丢包数,以及恢复时间。限于篇幅,只列出 *+,-, 及利用 &8FF+;GH 进一步优化算法。
*+,##,*+,#- 故障时的数据。
表 #1 三种方案时延,丢包,恢复时间对比
故障发 最小时延 最大时延 平均时延
方案 丢包数 恢复时间( 3))
生节点 2 3) 2 3) 2 3)
45653 ##7 #!.( 7 ##/( $ !" #"#( !
*+,- +839:;<=>?538@ ##7 #!.( 7 ##$( . 77 !"7( .-
4& ##7 #!.( 7 ##/( $ !" #"#( !
45653 ##7 #!.( 7 #!"( " A" #7$( A
*+,## +839:;<=>?538@ ##7 #!.( 7 ##/( # A7 #A!( $
4& ##7 #!.( 7 #!"( " A" #A!( $
45653 ##7 #!.( 7 #!"( # -A #$#( !
*+,#- +839:;<=>?538@ ##7 #!.( 7 ##/( A 00 7/( !
4& ##7 #!.( 7 #!"( - 0! 7/( ! 参考文献:
1 1 仿真实验结果表明,4& 方案兼有 45653 方案和 +839:;< [#] IJ5?K@J;?K LM5?K,N +J5G35,+G8?8H5) 45653,!" #$( O ’5PJ ’GDP;@<
=>?538@ 方案的优点,同时很好地避免了两个方案的不足。 P8D? 2 ,;)PDG5P8D? 4;@J5?8)3 FDG 4’*+ E;PQDG6)[ R]S B?P;G?;P &G5FP,
在丢包数量上,4& 方案处于比较平均的状态,从图 0 可 RM:> !"""(
知,没有因为故障节点的位置产生较大的波动,而 45653 和 [!] T8FF8 L;::)PG5?=,*D5 O?=;G))D?( UVP;?P8D?) PD I,<*&’ 5?= ,+N’<

+839:;<=>?538@ 则会因为故障节点位置不同而表现变化较大。 WU FDG +;PM9 DF ’G;<;)P5X:8)J;= ,;@DH;G> WM??;:)[ R]S B?P;G?;P &G5FP,
EDH( !"""S
[0] Y R53DM))8( ID?)PG58?P<X5);= *+’ +;PM9 %)8?K *&’[ R ]S B?P;G?;P
&G5FP,Z@P( #///S
[A] +5?PD) [M35G &5),’ N;?65P5G53( O 4;PJD= DF &;)8K?8?K 5 ’5PJ ,;)<
PDG5P8D? +@J;3; FDG 49:) Y5);= E;PQDG6[ R]S BUUU,!""!S
[-] +@DPP ’DG;P)6>,,5\;)J [J5??5,, ’59?;\5,!" #$( Y;?@J( 35G68?K
4;PJD=D:DK> FDG 4’*+ ’GDP;@P8D? 4;@J5?8)3)[ R]S B?P;G?;P &G5FP,O<
9G8: !""AS
[7] ] OJ?,^ IJM?( +83M:5PDG FDG 4’*+ ’5PJ ,;)PDG5P8D? 5?= ’;GFDG<
在时延上,三种方案都不会有较大的变化,最大、最小和平
35?@; UH5:M5P8D?[ R]S BUUU,!""#S
均时延差别都很小。4& 方案在故障点接近 ’B* 时,时延基本
[.] O +G868P\5,& W899;G,& 4;=J8( Z? ’GDH8=8?K +MGH8H5X:; +;GH8@;) 8?
和 45653 方案相当。
PJ; E;VP ];?;G5P8D? B?P;G?;P[ I]( WJ; BUUU 48:8P5G> ID33M?8@5P8D?)
恢复时间,三种方案的表现与理论分析符合,4& 方案是 ID?F( 48:@D3’
//),OP:5?P8@,ER,
#///S
前两种方案恢复时间的较小者。如图 - 所示,恢复时间主要受 [$] U3G; _;PK8?;G,U‘J5? [5G5)5?( ,DXM)P ’5PJ &;)8K? O:KDG8PJ3) FDG
到故障节点位置的影响,总体表现与丢包数对比图类似,说明 WG5FF8@ U?K8?;;G8?K Q8PJ ,;)PDG5P8D? 8? 4’*+ E;PQDG6)[ I ]S BUUU
丢包数大小主要是由故障恢复时间大小所决定的。 ( B+II’
"!),!""!S

作者简介:
. 1 结论
康剑(#/$"< ),男,硕士研究生,主要研究方向为智能网络管理及网络
本文提出了 4’*+ 网络故障恢复的一种新的算法 4& 方 路由优化;曹阳(#/A0< ),男,教授,博士生导师,研究方向为高速网络
案,并通过理 论 分 析 和 仿 真 实 验 对 4& 方 案、45653 方 案 及 协议、智能网管、网络安全与性能 评 价、+ZI 软 2 硬 件 协 同 设 计;葛 非
+839:;<=>?538@ 方案的时延、丢包等进行了分析对比。4& 方 (#/.-< ),男,博士研究生,主要研究领域为网络流量行为及预测;王悦
案兼具了 45653 和 +839:;<=>?538@ 方案的优点,对丢包,可靠 伟(#/.$< ),男,硕士研究生,主要研究方向为智能网络管理。

( 上接第 !"7 页) 学出版社,


!""0S
[!] 张友生 S 远程控制编程技术[ 4]S 北京:电子工业出版社,
!""!S
# 1 总结
[0] 陈坚,陈伟,等 S( ^8?+D@6 概述、4TI ^8?=DQ) +D@6;P) 类)N8)M5:
采用 N8)M5: I a a 7( " 编写程序,能方便地使用系统提供的 I a a 网络高级编程[ 4]S 北京:人民邮电出版社,
!""#S
控件等工具,编程快捷,实现的传输效果佳,几乎感觉不出与本 [A] 徐永新,陆宝春 S 利用 ^8?+D@6 通信实现远程控制[ R]S 计算机
地显示的差别( 在局域网中),但目前还只能实现单线程的,功 应用研究, !"( #):
!""0, #-/<#7"S

能待进一步完善,而且在执行远程控制操作时,不能取消该操 [-] 任俊,等 S 网络远程控制技术在机房管理中的应用[ R]S 微机发

作,且只能在 ^8?=DQ) !""" 2 b’ 操作系统运行,这在今后还有 展, #0( #"):


!""0, $"< $#S

待改进。 作者简介:
参考文献: 朱东辉(#/77< ),女,湖南邵阳人,中级职称,本科,研究方向为计算机
万方数据
[#] 王罡,林立志 S 基于 ^8?=DQ) 的 WI’ 2 B’ 编程[ 4]S 北京:清华大 网络控制等。

You might also like