一、需求分析:

随着信息技术的高速发展,互联网、无线网等网络的迅速普及,人们能方便、快捷、高效地远程进行操作解决实际问题,远程控制软件便应运而生。

二、概要设计:

 


服务器端(受控端)



控制命令的接收及执行

1.完成控制命令的接收

2.根据对应的格式执行操作

 



图像的捕捉及发送

1.界面图像的捕捉

2.界面图像的发送

 



接收、显示图像

1.完成图像的接收

2.完成图像的显示



添听并发送控制

1.添听鼠标、键盘的操作

2.完成命令的打包及发送



客户端  (控制端)


 

 

 

 

 

 

 

 

 

    各个功能通过各自的类来完成。

三、详细设计:

1、各个端的信息的接收均由一个线程来完成,增加了软件运行的流畅性。

2、使用JLabel来展示图像

四、程序结构

1、程序结构说明:

本程序采用模块化设计方法,各个功能的实现都有具体的方法,在主函数调用相应的方法即可实现程序的要求。程序的整体性很强。

2、重要数据说明:

本程序中使用字节流协来发送、解析数据。

四个字节

一个字节

后N个字节

一个INT,代表信息长度

代表类型

信息

其中,类型:0代表图片类型数据 (针对客户端)

0代表移动命令     (针对服务器)

2代表鼠标释放命令

4代表键盘释放命令

 

3、函数清单:

服务器端:

/**
   * 写一个服务器打开的程序
   * @param port:端口
   */
  public void startServer (intport)/*
    * 显示开始的方法
    */
//重写run方法(服务器中的Receiver)
  public void run()
  //初始化 信息及(服务器中的UserThread)
  public void init()
   //发送信息(图片)方法(服务器中的UserThread)
  public voidsendImg()
 //写run方法(服务器中的UserThread),完成命令的接收
  public void run()

  

  客户端

//显示主界面的方法
  public void showUI()
 //初始化(ClientThread中)
  public void unit()
//重写run方法(ClientThread中),用来读数据
  public void run()
  //显示控制界面(ControFrame中)
  public void showUI()
//写一个 得到图像,画图的方法
  public void drawPicture(Image img)
//得到图像,画图的方法
  public void passImg(Image img)

五、调试分析:

1、程序截图:

 

 

 

2、程序调试

    发现控制时,移动及画面不畅,需要调整接收、发送图片的频率来解决。

六、总结:

1、程序设计难点:

本程序的难点在于刷新率的设定及画面显示的方法、协议的定制等。

2、程序设计中的不足:

本程序仅初步完成了控制功能,仅可控制1280X768分辨率机器,还未添加其它分辨率机型,需要改进,且主界面没有完善。