目录
摘要…………………………………………………………………………………1
一、项目分析………………………………………………………………………2
1.1需求性分析
1.2可行性分析
1.3技术点分析
二、功能实现………………………………………………………………………3
2.1系统托盘模块……………………………………………………………3
2.1.1系统托盘是个什么东西?
2.1.2有必要实现系统托盘吗?
2.1.3怎么实现系统托盘
2.1.4实现系统托盘代码
2.2自定义协议………………………………………………………………5
2.2.1网络协议
2.2.2为什么自定义协议?
2.2.3自定义协议
2.2.4自定义协议相关类说明
2.2.5核心代码
2.3客户端模块………………………………………………………………7
2.3.1获取屏幕截图
2.3.2将图片以协议的规范发到服务器
2.3.3系统退出机制
2.3.4客户端代码
2.4服务器端模块……………………………………………………………9
2.4.1服务器逻辑
2.4.2对多客户端的处理
2.4.3服务器端对客户端消息请求的处理
三、Web服务器环境配置………………………………………………………11
3.1简述
3.2工具
3.3搭建过程
3.4使用方法
四、项目难点……………………………………………………………………12
4.1客户端循环发送图片的问题
4.2服务器端线程里操作JPanel重绘
4.3对异常的处理
五、展望…………………………………………………………………………14
六、感想…………………………………………………………………………15
附件:软件运行效果图…………………………………………………………16
摘要
远程屏幕监控系统在生活中是很常见的,学校机房的机房管理系统、PC版QQ的远程演示功能等都属于远程屏幕监控系统。监控系统的原理是通过客户端不断的截取屏幕发送到服务器端,服务器端进而将画面呈现出来的过程。本论文实现的是一个多客户端的远程屏幕监控系统。
本论文第一部分对系统进行项目分析,包括需求分析、可行性分析、相关技术分析,大致介绍了整个项目需要做的工作以及需要掌握的技术,介绍了Socket通信原理、截屏原理、Swing树、系统托盘、自定义JPanel实现显示监控图像以及多线程的知识。
第二部分分别对系统托盘模块、自定义协议模块、获取屏幕截图模块、连续发送与接收图片模块、登录、退出模块、多客户端处理模块、Swing树模块、自定义JPanel模块进行介绍。我没有直接搬上一大堆的理论知识,而是先简要介绍模块功能,然后按照正常思考的思路去实现项目需要的功能,并且去分析实现这个功能的必要性。遇到问题之后就分析出现这个问题的原因以及考虑如何去提升效率、减少存储空间等一系列优化问题。然后通过最后的分析给出一个优化后的解决方案,同时我将自己当时思考的错误点也罗列了出来,对多个处理方法都给予了尝试。针对每个模块都给出了功能的实现详细步骤以及示例代码。
第三部分是Web服务器环境配置以及程序使用说明。本项目是远程屏幕监控系统,如果要测试的话,服务器端的程序是需要部署在服务器上的,所以我将本机Web服务器环境配置的方法也讲解一下,另外还有关于本程序代码如何打包等知识都有讲解。
第四部分是我在写项目的过程中的犯的一些错误以及项目的难点,第五部分是对该系统后续的一些功能的设想,第六部分是我的一些感想,第七部分是项目运行效果的展示。
关键字:屏幕监控;Socket;Swing;自定义协议;Web服务器环境配置