远程控制软件远程控制软件
ICanSeeYou 远程控制软件技术分析 L3’Studio团队
ICanSeeYou 远程控制软件
技术分析
文档编写:Fengart 一、 面向对象的开发方法
下面列出比较重要的两个类图:
1) 从下面类图1可以看到,其中BaseServer(基本服务类)、BaseControler(基本控制类)
从类BaseCommunication(基本通讯类)继承而来。BaseServer类主要是用于服务端;
而BaseControler主要用于客户端。其中子类如:ScreenControler(屏幕控制类...
远程控制软件
ICanSeeYou 远程控制软件技术分析 L3’Studio团队
ICanSeeYou 远程控制软件
技术分析
文档编写:Fengart 一、 面向对象的开发方法
下面列出比较重要的两个类图:
1) 从下面类图1可以看到,其中BaseServer(基本服务类)、BaseControler(基本控制类)
从类BaseCommunication(基本通讯类)继承而来。BaseServer类主要是用于服务端;
而BaseControler主要用于客户端。其中子类如:ScreenControler(屏幕控制类)、
FileControler(文件控制类)、ScreenServer(屏幕服务类)、FileServer(文件服务类)、
ServerUpdater(服务端更新类)如图所示都是分别从其父类BaseServer、BaseControler
继承而来。
类图1
2) 从下面类图2可以看到,抽象类Code主要确定指令的数据结构,基类BaseCode继承
了Code,是所有传送指令的基类。其派生类包括处理键盘事件的KeyBoardEvent,端
口的PortCode,鼠标事件的MouseEvent,文件操作指令的FileCode,屏幕发送事件指
令SendScreenCode等。
ICanSeeYou 远程控制软件技术分析 L3’Studio团队
类图2
编程创新的方面
传统的网络通讯当中的数据包发送基本是按字节编码发送,而另一方收到这些数据包,一般得转化成字节,根据具体情况继而转化成其它数据类型。但这样就存在一个难点:当发送一个自定义的对象应该怎样去转化呢,当然需费不少代码去实现。而本项目是采用序列化(Serializable)的形式,即把一个对象直接序列化到网络流。并且接收方可以直接从网络流当中反序列化(Deserialize)出原来的对象。
[ 面向对象 , 继承Inheritance ]
基于上面的理论,我们不难解决多种不同数据结构的数据发送。所以类图2是基于这样的理论设计的。本软件的所有数据的发送(包括文件发送,屏幕发送)都继承
ICanSeeYou 远程控制软件技术分析 L3’Studio团队
了同样的基类(BaseCode类),而BaseCode类继承了抽象类Code(或把Code定义
成一个接口也可以)。
[ 面向对象 ,多态性 Polymorphism]
当接收方把数据流反序列化(Deserialize)成指令(抽象类Code)后,通过自
定义的指令头(CodeHead枚举值)可以知道它是具有什么功能,从而转换为其相应
的派生类,并执行相应操作。
二、 多线程技术
如果服务端或客户端只用一个线程进行通讯的话,必然会导致“交通阻塞”现象。
例如文件传输和屏幕传输不能同时由一个线程来处理,否则会出现文件发送到某一时
刻时被截止,导致接收后的文件不完整的现象。而使用了多线程的技术,一个线程处
理文件传输,另外一个线程处理屏幕传输。这样用户就可以一边传输文件,一边进行
屏幕操控,不会互相冲突。同时用到多线程技术的还有“连接多台服务机”的功能模
块,这样当其中一台服务机连接不上时,也不会影响其它服务机的连接,实现了同时
操控多台机器。去
三、 MD5加密
所有涉及到服务端或客户端的密码都使用MD5加密算法来进行加密保存,确保安
全性。
ICanSeeYou 远程控制软件技术分析 L3’Studio团队
客户端和服务端的基本流程图:
客户端线程 服务端线程
显示错误 线程开启 线程开启
否 连接服务端 开启端口成功 等待一定
时间 是 连接成功 阻塞、等待 否 客户连接请求 是 客户端用户手 动触发事件 读取指令
建立连接
客户端发执行指令 送指令 发送连接成
功信息
否
连接断开
读取指令 是
是 关闭连接 程序关闭指令
否
执行指令 结束线程
服务端用户关
否 闭程序
连接断开
是 要求输入密
关闭连接 码
是
密码正确
否
结束线程
提示错误
本文档为【远程控制软件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。