java远程控制实现[源码][附图]

一、需求分析:

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

二、概要设计:

 

服务器端(受控端)

控制命令的接收及执行

1.完成控制命令的接收

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

 

图像的捕捉及发送

1.界面图像的捕捉

2.界面图像的发送

 

接收、显示图像

1.完成图像的接收

2.完成图像的显示

添听并发送控制

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

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

客户端  (控制端)

 

 

 

 

 

 

 

 

 

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

三、详细设计:

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

2、使用JLabel来展示图像

四、程序结构

1、程序结构说明:

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

2、重要数据说明:

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

四个字节

一个字节

N个字节

一个INT,代表信息长度

代表类型

信息

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

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

            1代表鼠标点击命令 2代表鼠标释放命令

            3代表键盘点击命令 4代表键盘释放命令

 

3、函数清单:

服务器端:

/**

   * 写一个服务器打开的程序

   * @param port:端口

   */

  public void startServer (int port)/*

    * 显示开始的方法

    */

//重写run方法(服务器中的Receiver

  public void run()

  //初始化 信息及(服务器中的UserThread

  public void init()

   //发送信息(图片)方法(服务器中的UserThread

  public void sendImg()

 //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分辨率机器,还未添加其它分辨率机型,需要改进,且主界面没有完善。

你可能感兴趣的:(java,数据结构,互联网,网络协议)