本文第一部分对系统进行项目分析,包括需求分析、可行性分析、相关技术分析。 大致介绍了整个项目需要做的工作以及需要掌握的技术。 还介绍了通信原理、截图原理、Swing树、系统托盘。 、显示监控图像的自定义实现以及多线程知识。
第二部分分别介绍了系统托盘模块、自定义协议模块、截图获取模块、连续发送和接收图片模块、登录和退出模块、多客户端处理模块、Swing树模块和自定义模块。 我没有直接介绍很多理论知识,而是先简单介绍了模块功能,然后按照正常思维实现了项目需要的功能,并分析了实现这个功能的必要性。 遇到问题后,分析问题的原因,考虑如何提高效率、减少存储空间等一系列优化问题。 然后我通过最终的分析给出了一个优化的解决方案。 同时我也列出了我当时犯的错误,并尝试了多种处理方法。 对于每个模块,都给出了详细的功能实现步骤和示例代码。
第三部分是Web服务器环境配置和程序使用说明。 本项目是一个远程屏幕监控系统。 如果要测试的话需要在服务器上部署服务器端程序,所以我也会讲解一下配置本地Web服务器环境的方法。 另外,还有如何打包程序代码的知识。 都解释清楚了。
第四部分是我在写项目过程中犯的一些错误以及项目的难点。 第五部分是对系统后续一些功能的假设。 第六部分是我的一些想法。 第七部分是项目运作。 效果展示。
关键词:屏幕监控; 摇摆; 自定义协议; Web服务器环境配置
1. 项目分析 1.1 需求分析
项目的初始阶段是对整个系统进行估算,这将有助于我们了解整个系统。 屏幕监控系统需要实现的功能有:
1.2 可行性分析
需求分析中提到的功能能否实现? 我们将在这里讨论它:
1.3 技术点分析 1.3.1
网络上的两个程序通过双向通信连接交换数据。 这种连接的一端称为a,Java API 提供了对其的支持。
1.3.2 自定义网络协议
网络协议是为计算机网络中的数据交换而建立的一组规则、标准或约定。 为了满足我们的需求,我们需要定制一个协议,并为其提供发送消息和解析消息的功能。
1.3.3 系统托盘
系统托盘是一个特殊的区域,通常位于桌面的底部。 项目中涉及到一些对系统托盘的操作。 我们为客户端提供了系统托盘功能,方便用户关闭监控。
1.3.4 IO流
流是一个抽象概念,表示非结构化的数据传输。 输入和输出以流的方式进行,数据被视为非结构化的字节顺序或字符序列。 从流中获取数据的操作称为提取操作,向流中添加数据的操作称为插入操作。 用于输入和输出操作的流称为IO流。 换句话说,IO流是以流的形式输入和输出的。 我们主要用:、、am等。
点击此处下载文档和源代码