基于JAVA CS远程监控系统软件的实现
- 格式:docx
- 大小:26.37 KB
- 文档页数:15
java中查看远程服务器文件的方法在Java中,要想查看远程服务器上的文件,可以使用Java提供的网络编程API。
具体实现方法如下:1. 创建一个远程服务器连接可以使用Java提供的Socket类来连接远程服务器。
例如,以下代码可以创建一个连接到IP地址为192.168.1.1,端口为22的SSH 服务器的Socket对象:```Socket socket = new Socket('192.168.1.1', 22);```2. 发送命令到远程服务器要想查看远程服务器上的文件,可以发送一个查看文件的命令到远程服务器。
例如,以下代码可以发送一个查看文件的命令到远程服务器:```OutputStream outputStream = socket.getOutputStream();PrintStream printStream = new PrintStream(outputStream); printStream.println('cat /path/to/file.txt');```其中,/path/to/file.txt是要查看的文件路径。
3. 读取远程服务器的输出当远程服务器执行完查看文件的命令后,会返回文件的内容。
可以通过Java提供的InputStream类来读取远程服务器的输出。
例如,以下代码可以读取远程服务器返回的文件内容:```InputStream inputStream = socket.getInputStream();BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));String line;while ((line = bufferedReader.readLine()) != null) {System.out.println(line);}```以上就是Java中查看远程服务器文件的方法。
Java⽣产环境下性能监控与调优详解1:JVM字节码指令与 javapjavap <options> <classes>cd monitor_tuning/target/classes/org/alanhou/monitor_tuning/chapter8/javap -verbose Test1.class > Test1.txt 即可保存字节码⽂件会有三个部分组成操作数栈LineNumberTableLocalVariableTablei++和++i 的执⾏效果完全相同多了⼀个压⼊栈顶操作for(int i=0;i<10;i++) {}for(int i=0;i<10;++i) {} 执⾏效果⼀样2:public static void f1() {String src = "";for(int i=0;i<10;i++) {//每⼀次循环都会new⼀个StringBuilder 然后在src.append("A");src = src + "A";}System.out.println(src);}public static void f2() {//只要⼀个StringBuilderStringBuilder src = new StringBuilder();for(int i=0;i<10;i++) {src.append("A");}System.out.println(src);}3:public static String f1() {String str = "hello";try{return str;}finally{str = "imooc";}} 返回 hello 但会执⾏finally 中的代码4:字符串拼接都会在编译阶段转换成stringbuilder5:字符串去重字符串在任何应⽤中都占⽤了⼤量的内存。
C/S架构的即时聊天系统的设计与实现摘要:随着信息时代的飞速发展,尤其是互联网技术的兴起,使人们愈来愈倾向于通过网络来交流、传递消息。
网络即时聊天系统正是这样一个被广泛应用的媒介。
借助它,人们可以方便地进行实时对话,文件传送等。
本文以一个“即时通讯系统”的设计和开发为背景,详细介绍了以Java语言和MySql数据库为平台开发软件系统的过程。
系统的实现是基于TCP/IP通信协议,使用的是客户端/服务器模式,用到了Java里面的Swing、多线程、JDBC、Socket等高级编程技术。
通过直接使用Java提供的ServerSocket和ObjectInputStream等类将客户端和服务器端发送的各类消息封装成统一的数据流以实现消息的交换。
本系统的开发过程遵循了基本的软件工程学的方法,实现了即时通讯、群组聊天、文件传送等功能。
关键词:Java;数据库;Socket编程;即时通讯系统;TCP/IP协议The Instant Messaging System based on C/SStructureAbstract: With the rapid development of the information age, especially the rise of internet technology, more and more people tend to communicate and deliver the messages through the internet.Instant messaging system is such a widely used medium. With it,the real-time dialogue and file transfer can be easily carried out. Taking the design and development of the instant messaging system as the background , this article describes in detail the process of developing software systems with Java and MySql. The realization of the system is based on the TCP / IP communication protocol, and uses a client / server mode .Many advanced java technologies such as Swing ,java multi-threading, JDBC, socket programming and so on are used. By directly using the ServerSocket ,ObjectInputStream and other classes supported in Java API, messages sented by the client and server side are packaged into a uified data stream in order to achieve the exchange of messages. The whole development process of this system follows software engineering methods,and instant messaging, group chatting, file transferring and other functions are realized.Keywords: Java; database; Socket programming; instant messaging system; TCP/IP protocol目录第一章引言 (1)1.1选题背景和意义 (1)1.2本文的主要工作 (2)第二章基于C/S架构的即时通讯系统概述 (3)2.1系统的可行性分析 (3)2.2系统的实现目标和基本功能 (4)2.3系统开发环境和关键技术介绍 (4)第三章基于C/S架构的即时通讯系统设计 (9)3.1系统详细设计 (9)3.1.1 系统总体流程图 (9)3.1.2 系统总体功能模块划分 (10)3.1.3 系统用例图 (11)3.1.4 系统数据流图 (13)3.2 数据库设计 (14)3.3 系统关键类结构设计 (19)第四章基于C/S架构的即时通讯系功能实现 (24)4.1注册模块功能实现 (24)4.2登录模块功能实现 (26)4.3聊天模块功能实现 (28)4.4文件传送模块功能实现 (32)4.5后台管理模块功能实现 (36)第五章总结 (40)致谢 (43)参考文献 (44)第一章引言1.1选题背景和意义随着经济全球化的发展,世界各地的不同人、组织、机构之间的联系越来越密切。
基于java的视频会议系统设计与实现重庆大学工程硕士论文学生姓名:***指导教师:***兼职导师:***工程领域:软件工程重庆大学软件学院年月Design and Implementation of Java-Based Video Conference SystemA Thesis Submitted to Chongqing Universityin Partial Fulfillment of the Requirement for theDegree of Master of EngineeringBy***Supervised by Prof. ***Supervised by Associate-Prof. ***Specialty: Software EngineeringCollege of Software Engineering of ChongqingUniversity, Chongqing, China摘要随着互联网的发展与进步,网络与计算机应用已经普及到社会的各个层面。
对于一个逐渐壮大的集团化企业来说,高效的管理模式和工作方式,直接影响着其在市场竞争中的地位。
某集团(全称:某集团有限公司)下辖18个分/子公司、污水处理厂及项目部,集团总部或在分支机构召开的各种办公会议,不仅花费了大量的时间和经费,也给公司管理带来很大的不便。
因此,必须有一种新的会议方式,解决某集团公司面临的,会议多、效率低的现实问题。
笔者作为某集团信息部员工,在深入调研后,提出开发视频会议系统的方案,并参与了系统需求分析、设计、实现、项目管理等全过程。
该方案详细论述了利用Java相关技术,开发基于SIP协议视频会议系统的详细过程。
本文的研究工作包括两大部分:(1)利用SIP协议完成信令的多点呼叫控制,从而实现对会议的管理。
(2)利用RTP协议和Java相关技术实现多媒体的通信。
通过本系统的研发取得了以下几个方面的成果:(1)视频会议服务器端,其实现的主要功能包括:主持会议、操控会议、结束会议;客户端,其主要功能是参加会议、参与文件管理等操作。
基于B/S网络结构的远程监控系统研发方案一、前言随着企业网络的集成化发展,Internet技术与控制技术融合在一起,远程操纵生产过程技术成为自动化技术的重要研究内容。
在工业自动化领域里,控制网络也正向体系结构的开放性方向发展,信息沟通的领域正迅速覆盖从工厂的现场设备到控制、管理的各个层次,基于Internet/Intranet 的企业综合自动化方案已经成为热门的研究方向.通过Internet浏览器相关人员能够进行生产过程的远程监视,远程设备调试和远程设备故障诊断、处理,不但可以提高企业自动化水平,实现无人职守,而且在很大程度上为企业生产运作的科学管理、安全运行和有效维护奠定了坚实的基础。
但是,由于网络延时的存在,基于网络的控制系统不可能是一种闭环控制,采用的是远程监督控制方案,而逻辑控制功能由现场设备层完成。
本文根据这一思想提出基于B/S结构进行的网络控制,并开发了一套基于PLC和变频器的实时远程控制系统,该系统集软件开发技术、PLC技术、变频控制技术,网络通信技术于一体目前从结构模式上讲,有B/S(Browser/Server)结构和C/S(Client/Server)结构。
二、B/S结构和C/S结构的比较C/S结构就是传统意义上的客户机/服务器模式,系统任务分别由客户机和服务器来完成。
服务器具有数据采集、控制和与客户机通信的功能;客户端则包括与服务器通信和用户界面模块。
这是一种典型的“瘦服务器/肥客户机”的模式,它有以下缺点:1. 部署困难,除了要安装服务器软件外,对每台客户机都要安装客户软件的一份拷贝。
满足不了客户端跨平台的要求。
一般来说,客户端的操作系统是不同的,与此对应的客户端程序也是不同的。
但是,为每一种操作系统设计一个客户端程序是不现实的。
而要求客户放弃已有的操作系统来购买一新的操作系统会使客户付出很大的代价。
2. 管理、维修费用高、难度大。
于是,我们就在传统的C/S结构的中间加上一层,把原来客户机所负责的功能交给中间层来实现,这个中间层即为Web服务器层。
基于JAVA手机便携式心电监护分析仪的ECG信号采集模块设计李远;蒋稼欢;章毅;唐俊铨;刘玉梅【摘要】目的:设计一种基于JAVA手机的便携式心电监护仪的心电信号采集模块.方法:心电采集模块采用低功耗51单片机为控制核心,通过心电信号的采集、放大、滤波、A/D转换以及红外通讯接口5个模块,实现心电信号的采集及与JAVA移动手机之间的通信.结果:设计的采集模块具有高输入阻抗、高共模抑制比、低噪声、增益可控等优点,可实现心电信号无失真采集和与手机间进行红外线通信.结论:该心电信号采集模块成本低、体积小、耗电少,适合患者自身携带和医务工作者使用.%Objective To design an ECG(electrocardiogram) acquisition module of JAVA cell phone-based portable ECG monitoring analyzer. Methods The functions of this acquisition module included ECC signal collecting, amplifying, filtering, A/D conversion and infrared data communication, which were controlled by the low-power-consumed 51 series microcontroller and achieved the ECG signal collation and communication with JAVA cell phone. Results This module showed the features of high input impedance, high common mode rejection ratio(CMRR) lower noise and controllable amplifying multiple, which could achieve the functions of ECG distortion-free collection and infrared data communication with telephone. Conclusion The system has the advantages of lower cost, small volume, low power consumption and being easy to carry .【期刊名称】《医疗卫生装备》【年(卷),期】2011(032)001【总页数】5页(P18-22)【关键词】心电监护;单片机;红外数据通信;手机【作者】李远;蒋稼欢;章毅;唐俊铨;刘玉梅【作者单位】400030,重庆,重庆大学生物工程学院;402160,重庆永川,重庆医科大学附属永川医院中心实验室;400030,重庆,重庆大学生物工程学院;400030,重庆,重庆大学生物工程学院;400030,重庆,重庆大学生物工程学院;400030,重庆,重庆大学生物工程学院【正文语种】中文【中图分类】TH772.2Abstract ObjectiveTo design an ECG(electrocardiogram)acquisition module of JAVA cell phone-based portable ECG monitoring analyzer.MethodsThe functions of this acquisition module included ECG signalcollecting,amplifying,filtering,A/D conversion and infrared data communication,which were controlled by the low-power-consumed 51 series microcontroller and achieved the ECG signal collation and communication with JAVA cell phone.ResultsThis module showed the features of high input impedance,high common mode rejectionratio(CMRR)lower noise and controllable amplifying multiple,which could achieve the functions of ECG distortion-free collection and infrared data communication with telephone.ConclusionThe system has the advantagesof lower cost,small volume,low power consumption and being easy to carry.[Chinese Medical Equipment Journal,2011,32(1):18-22]Key words ECG monitoring;singlechip;infrared data communication;cell phone随着科技的进步和社会的发展,现代医疗已从过去的疾病治疗转为预防、保健和提高身体素质[1]。
医院远程会诊系统设计随着医疗技术的不断发展,医院对于远程会诊系统的需求也日益增加。
远程会诊系统可以帮助医生们更方便地进行病例讨论、学术交流以及远程诊断等工作,提高医疗质量和效率。
本文旨在探讨医院远程会诊系统的设计。
一、系统需求分析在系统需求分析阶段,我们需要充分了解用户需求,包括医生、患者及管理人员等。
针对不同的用户群体,我们需要制定不同的功能模块。
例如,医生需要能够进行病例查看、远程诊断、病例讨论等功能;患者需要能够进行在线咨询、预约挂号等功能;管理人员需要能够进行系统设置、数据统计等功能。
二、系统架构设计在系统架构设计阶段,我们需要根据需求分析结果,制定相应的系统架构。
一般而言,医院远程会诊系统包括以下几个模块:1、用户登录模块:用于用户注册、登录及权限管理等功能。
2、病例管理模块:用于医生进行病例查看、编辑、删除等功能。
3、远程诊断模块:用于医生进行远程诊断、视频会话等功能。
4、学术交流模块:用于医生进行病例讨论、学术交流等功能。
5、在线咨询模块:用于医生与患者进行在线沟通、咨询等功能。
6、预约挂号模块:用于患者进行预约挂号、在线支付等功能。
7、系统设置模块:用于管理人员进行系统设置、数据统计等功能。
8、数据库管理模块:用于存储和管理用户信息、病例信息等数据。
三、系统实现技术在系统实现阶段,我们需要选择合适的开发工具和技术来实现上述功能模块。
一般而言,医院远程会诊系统可以采用以下技术实现:1、前端开发技术:采用HTML5、CSS3、JavaScript等技术实现页面布局和交互效果。
2、后端开发技术:采用Java、PHP、Python等语言实现服务器端逻辑处理和数据存储。
3、数据库技术:采用MySQL、Oracle等数据库管理系统实现数据存储和管理。
4、视频会议技术:采用WebRTC、Skype等技术实现视频会议功能。
5、其他相关技术:采用TCP/IP协议、HTTP协议等技术实现数据传输和通信。
基于Java的高校宿舍智能管理系统的设计与实现一、本文概述随着信息技术的飞速发展,智能化管理已经成为现代高校提高管理效率和服务质量的重要手段。
在众多管理领域中,宿舍管理作为高校日常生活中的重要组成部分,其智能化改造对于提升学生居住体验、保障校园安全以及优化资源配置具有重要意义。
本文旨在探讨基于Java语言开发的高校宿舍智能管理系统的设计与实现。
Java作为一种稳定、跨平台且广泛使用的编程语言,为系统的开发提供了坚实的技术基础。
通过采用Java进行系统开发,可以有效保障系统的兼容性、安全性及可扩展性,满足高校宿舍管理的多样化需求。
本文首先分析了当前高校宿舍管理面临的主要问题和挑战,包括宿舍资源分配不合理、安全隐患、信息管理不透明等。
接着,本文详细介绍了系统的设计思路和功能模块,包括宿舍信息管理、学生信息管理、安全监控、资源调度等关键模块。
本文还将阐述系统实现的关键技术,如数据库设计、网络通信、用户界面设计等,并展示系统的实际运行效果。
通过对基于Java的高校宿舍智能管理系统的计与实现的深入研究,本文期望为高校宿舍管理的智能化提供可行的解决方案,进而推动高校管理信息化、智能化的进程,为构建和谐、安全、高效的校园生活环境贡献力量。
二、相关技术概述Java是一种广泛使用的编程语言,以其跨平台性、安全性和稳定性而著称。
在高校宿舍智能管理系统的设计与实现中,Java语言的面向对象特性使得系统模块化更加清晰,便于后续的维护与升级。
Java的异常处理机制也为系统提供了更强的错误检测和恢复能力。
宿舍管理系统需要处理和存储大量的学生信息、宿舍分配情况等数据。
数据库技术是实现该系统不可或缺的一部分。
常用的数据库系统如MySQL、Oracle等,可以有效地管理数据,支持数据的增删改查操作,保证数据的一致性和完整性。
物联网技术通过传感器、RFID等设备实现物品的智能识别、定位、追踪和管理。
在宿舍管理系统中,物联网技术可以用于实现对宿舍环境的监控,如温湿度监测、安全监控等,提高宿舍的安全性和舒适度。
CS+与BS模式相结合的MiniERP系统的开发浅析摘要:在构建模型的基础上,采用C/S + B/S软件体系架构,自主开发了面向多品种、小批量中小企业的MiniERP 系统,详细介绍了该系统的各个模块的功能。
MiniE即系统主要包括系统管理、销售管理、生产管理、采购管理、库存管理、财务管理、人力资源管理子系统。
该系统符合多品种、小批量中小企业特点及运营流程,能够解决该类企业管理中出现的主要问题,实用性强,具有较高的可操作性和稳定性,小巧价廉,可以快速的应用到中小企业中去,帮助企业提高管理水平和市场竞争力。
转载于范文中国网http://。
关键词:中小企业;制造信息化;ERP;C/S;B/S前言近年来,软件产业及信息化技术的飞速发展,尤其是基于Web的信息发布技术、信息检索技术、Java 技术以及分布式对象组件技术日趋成熟,应用系统平台从Client/Server (简称C/S,客户端/服务器)体系架构向Browse/Server (简称B/S ,浏览器/服务器)分布式体系架构演变,进而又演变出一种C/S +B/S相结合的新型体系架构,这种体系架构将C/S架构与B/S架构的优点结合起来,对开发成熟、高效、安全的软件应用系统至关重要。
一、C/S体系架构与B/S体系架构的比较分析客户机/服务器C/S(Client/Server)结构是一种典型的二层结构,按照实现的功能不同,将应用程序分为两大部分:一部分用于处理数据库,称为服务器部分;另一部分用于处理应用程序、请求服务,称为客户部分。
它的工作原理是:用户通过应用程序向客户机提出数据要求,客户机通过网络将用户的数据要求提交给服务器,服务器的数据库管理系统执行数据处理任务,然后把经过处理后的用户需要的那部分数据,传输到客户机上,最后由客户机完成对其所要数据的加工。
C/S结构具有开放性、存取数据安全、网络通讯量低、速度快、可扩展性和易于升级等优点,且这种结构投资少、易于维护开发周期短,比较适合中小企业信息化系统的开发。
基于Java的智能农业管理系统设计与实现智能农业管理系统是利用先进的信息技术手段,对农业生产过程进行全面监测、分析和管理的系统。
随着科技的不断发展,智能农业管理系统在提高农业生产效率、降低生产成本、保障粮食安全等方面发挥着越来越重要的作用。
本文将介绍基于Java的智能农业管理系统的设计与实现。
一、系统需求分析在设计智能农业管理系统之前,首先需要进行系统需求分析。
智能农业管理系统主要包括以下功能模块:农田监测模块:通过传感器监测土壤湿度、温度、光照等指标,实时反馈给系统。
作物生长管理模块:根据农田监测数据,对作物生长情况进行分析和预测,提供种植建议。
病虫害预警模块:通过图像识别技术识别病虫害,及时预警并提供防治方案。
智能灌溉模块:根据土壤湿度和气象条件,自动控制灌溉系统,实现精准灌溉。
数据统计与分析模块:对各项数据进行统计分析,为农业生产提供决策支持。
二、系统设计基于Java语言的智能农业管理系统采用B/S架构,前端使用HTML、CSS、JavaScript等技术,后端采用Spring框架进行开发。
系统主要包括以下几个模块:用户管理模块:包括用户注册、登录、权限管理等功能。
农田监测模块:实时显示土壤湿度、温度、光照等监测数据,并提供数据分析报告。
作物生长管理模块:根据监测数据展示作物生长情况,并提供种植建议。
病虫害预警模块:上传病虫害图片进行识别,并给出预警信息和防治建议。
智能灌溉模块:根据土壤湿度和气象条件自动控制灌溉系统。
数据统计与分析模块:对各项数据进行统计分析,并生成报表。
三、系统实现1. 前端实现前端页面采用HTML和CSS进行布局设计,JavaScript实现页面交互功能。
通过Ajax技术与后端接口进行数据交互,实现数据的动态展示和更新。
2. 后端实现后端采用Spring框架进行开发,使用Spring MVC处理前端请求,Spring Security实现用户权限控制,MyBatis用于数据库操作。
工业设备远程信息监控系统探析摘要:从宏观角度阐述基于modem拨号的点对点型和基于互联网的网络型技术形式,实现远程监测与故障诊断:主要包括诊断知识的表达、诊断知识的获取、扩展软件实现以及如何实现用户与诊断中心的交互。
关键词:远程控制;故障诊断;网络技术随着电子商务、企业信息化、教育信息化等信息化进程的推进,整个社会的信息化程度不断提高。
在人们的工作、生活中,信息处理变得越来越重要了。
而作为信息处理的一种典型模式,企业等各类社会组织的“内部资源处理系统”迅速地发展起来,并逐步成为组织各种业务的基础设施。
在这些内部资源系统的服务器和主机上,配置了大量的业务处理应用软件,存放了越来越多的数据。
这些资源(软件和数据)与组织的各种业务紧密相关,已经成为组织的重要财富,在企业的发展中起着重要的作用。
在全球化的商业环境中,一个大型的企业可能在全世界都有其正在运行的系统和产品,那么如何安全快速地远程访问这些系统,了解它们的运行情况呢?目前,企业资源的远程访问只能达到对内部文件的共享。
多数的远程应用也不可能达到像在本地一样的方便。
随着互联网络的发展,越来越多的用户(特别是oem的用户)希望能够通过互联网对所售出的产品进行查询、诊断和维护,这样可以加强管理、减少维护工程师到现场的时间和费用,不仅节约了大量的人力和物力成本,同时也能为客户提供更为快捷的服务,减少客户的损失,这样,远程诊断和服务成了迫切需要解决的问题。
随着信息时代的到来,internet的发展为各行各业带来了全新的理念,把设备的远程信息技术提高到了一个新的层次,已经能够把生产企业、设备供应商二者更加紧密地结合在一起,使得设备供应商可以在异地通过网络对远程设备进行信息交换。
因此对工业设备远程信息监控系统的应用研究具有可行性而且具有重要的现实意义。
远程监控是国内外研究的前沿课题,国内外都展开了积极的研究。
1997年1月,首届基于internet的远程监控诊断工作会议由斯坦福大学和麻省理工学院联合主办,有来自30个公司和研究机构的50多位代表到会。
基于Java的智能车辆管理系统设计与实现智能车辆管理系统是一种利用先进的技术手段对车辆进行管理和监控的系统,可以提高车辆管理的效率和精度,减少人力成本,提升管理水平。
本文将介绍基于Java语言开发的智能车辆管理系统的设计与实现。
1. 系统概述智能车辆管理系统主要包括车辆信息管理、车辆调度管理、路况监测、违章检测等功能模块。
通过这些功能模块,可以实现对车辆的全方位监控和管理,提高车辆的利用率和安全性。
2. 系统架构设计智能车辆管理系统采用客户端-服务器架构,客户端负责与用户交互,服务器负责处理业务逻辑和数据存储。
系统采用MVC(Model-View-Controller)设计模式,将业务逻辑、数据展示和用户交互分离,提高系统的可维护性和扩展性。
3. 技术选型在开发智能车辆管理系统时,我们选择了以下技术进行开发:Java语言:作为主要开发语言,具有良好的跨平台性和稳定性。
Spring框架:提供了依赖注入、AOP等功能,简化了开发流程。
Hibernate框架:用于对象关系映射,简化了数据操作。
MySQL数据库:作为数据存储介质,保证数据的安全性和可靠性。
HTML/CSS/JavaScript:用于前端页面的设计与交互。
4. 功能模块设计4.1 车辆信息管理车辆信息管理模块包括车辆基本信息录入、修改、查询和删除等功能。
管理员可以通过该模块对车辆信息进行维护,确保信息的准确性和完整性。
4.2 车辆调度管理车辆调度管理模块主要包括车辆调度计划制定、执行情况监控和调度优化等功能。
通过该模块可以实现对车辆调度过程的实时监控和优化,提高调度效率。
4.3 路况监测路况监测模块通过GPS定位等技术实时监测车辆所处位置及周围路况,并提供路况信息查询和预警功能,帮助驾驶员选择最佳行驶路线。
4.4 违章检测违章检测模块通过图像识别等技术对车辆行驶过程中是否存在违章行为进行检测,并生成相应的违章记录。
管理员可以通过该模块对违章记录进行查看和处理。
基于JAVA C/S远程监控系统软件的实现近年来,网络技术的不断发展,为远程监控技术的发展创造了条件。
远程监控系统软件越来越受到人们的重视,其实用性也毋庸质疑。
基于JAVA C/S远程监控系统软件突破了空间的限制,使用者不用亲临,在自己的电脑面前就能轻松的实现对被监控端机器的监控。
本系统采用Java网络编程和Java图形编程实现。
笔者在开发过程中将网络技术与远程监控理论基础相结合,实现了以下功能:能连续获得被监控端机器屏幕变化;实现被监控端硬盘文件的上传、下载;实现对鼠标、键盘的模拟;实现在远程机器上执行任意DOS命令;远程关机、远程重启计算机,方便了用户监视和操作被监控端机器。
本系统从系统需求分析、概要设计、详细设计到具体的编码实现和后期的代码优化、功能测试都严格遵循了软件工程的思想。
远程监控技术,始于DOS时代,因为当时网络不发达,这门技术没有得到很多重视,但是随着网络的高度发展,电脑的管理及技术支持的需要,远程监控技术越来越引起人们的关注。
网络技术的不断发展,也为远程监控技术的发展创造了条件。
远程监控软件一般分两个部分:一部分是客户端程序Client,另一部分是服务器端程序Server,多数远程监控软件把被监控端作为服务器,主控端作为客户端。
考虑到在监控过程中,如果把主控端作为客户端向被监控端发送TCP连接请求,容易被防火墙或者杀毒软件阻止,监控过程就不能够成功进行。
因此,本毕业设计将被监控端设计为客户端,向主控端发连接请求,建立连接后,主控端向被监控端发送远程控制命令,控制被监控端电脑中的各种应用程序运行,被监控端对主控端发送来的命令进行处理,并将命令处理结果返回给主控端。
远程监控软件顺应时代发展的需求,它实用、使用简便,是非常不错的软件。
1.1 远程监控的背景知识远程监控是在网络上由一台电脑(主控端Remote)远距离去监控另一台电脑(被监控端Host)的技术,这里的远程不是字面意思的远距离,一般指通过网络监控远端电脑,不过,大多数时候我们所说的远程监控往往指在局域网中的远程监控而言。
当操作者使用主控端电脑监控被监控端电脑时,就如同坐在被监控端电脑的屏幕前一样,可以启动被监控端电脑的应用程序,可以使用被监控端电脑的文件资料,不过,有一个概念需要明确,那就是主控端电脑只是将键盘和鼠标的指令传送给远程电脑,同时将被监控端电脑的屏幕画面通过通信线路回传过来。
也就是说,我们控制被监控端电脑进行操作似乎是在眼前的电脑上进行的,实质是在远程的电脑中实现的,不论打开文件,还是上网浏览、下载等都是存储在远程的被监控端电脑中的。
电脑中的远程控制技术,始于DOS时代,只不过当时由于技术上没有什么大的变化,网络不发达,市场没有更高的要求,所以远程控制技术没有引起更多人的注意。
但是,随着网络的高度发展,电脑的管理及技术支持的需要,远程操作及控制技术越来越引起人们的关注。
远程控制一般支持下面的这些网络方式:LAN、WAN、拨号方式、互联网方式。
有的远程控制软件还支持通过串口、并口、红外端口来对远程机进行控制(不过,这里说的远程电脑,只能是有限距离范围内的电脑了)。
传统的远程控制软件一般使用NETBEUI、NETBIOS、IPX/SPX、TCP/IP等协议来实现远程控制,不过,随着网络技术的发展,目前很多远程控制软件提供通过Web页面以Java技术来控制远程电脑,这样可以实现不同操作系统下的远程控制,例如数技通科技有限公司在就推出了全球第一套基于中文JAVA的跨平台远程控制软件――易控。
1 2 远程监控软件的原理远程监控软件一般分两个部分:一部分是客户端程序Client,另一部分是服务器端程序Server,由于本毕业设计的通信模块有别于传统的远程监控软件,在使用前需要将客户端程序安装到被监控端电脑上,将服务器端程序安装到主控端电脑上。
它的控制的过程是先在被监控端电脑上执行客户端程序,像一个普通的客户一样向主控端电脑中的服务器端程序发出信号,建立一个特殊的远程服务,然后通过这个远程服务,接收主控端发送过来的远程控制命令,并对命令进行处理,最后将命令处理结果返回给主控端,我们称这种远程控制方式为基于远程服务的远程控制。
通过远程监控软件,我们可以进行很多方面的远程控制,包括获取目标电脑屏幕图像、窗口及进程列表;记录并提取远端键盘事件(击键序列,即监视远端键盘输入的内容);可以打开、关闭目标电脑的任意目录并实现资源共享;提取拨号网络及普通程序的密码;激活、中止远端程序进程;管理远端电脑的文件和文件夹;关闭或者重新启动远端电脑中的操作系统;修改Windows注册表;通过远端电脑上、下载文件和捕获音频、视频信号等。
前面我们所说的是一台电脑对一台电脑的情况,其实,基于远程服务的远程控制最适合的模式是一对多,即利用远程监控软件,我们可以使用一台电脑监控多台电脑,这就使得我们不必为办公室的每一台电脑都安装一个调制解调器,而只需要利用办公室局域网的优势就可以轻松实现远程多点控制了。
在进行一台电脑对多台远端电脑进行控制时,我们发现,远程监控软件似乎更像一个局域网的网络管理员,而提供远程控制的远程终端服务就像极了办公室局域网的延伸。
这种一对多的连接方式在节省了调制解调器的同时,还使得网络的接入更加安全可靠,网络管理员也更易于管理局域网上的每一台电脑。
本文所论述的远程监控系统就是依照这种方式进行的。
2 系统需求分析及理论基础2.1.1 系统功能需求1.连续获得被控端机器屏幕变化。
2.实现被控端硬盘文件的上传、下载。
3.实现对鼠标、键盘的模拟。
4.实现在被控端机器上执行任意DOS命令。
5.远程关机、远程重启计算机。
1.系统实用,界面操作简便。
2.被监控端自动隐藏运行。
被监控端将随电脑启动而自动运行,运行时默认无任何可见界面。
2.2 系统开发原理及关键技术2.2.1 系统开发原理本系统是利用类java.awt.robot中的屏幕截取和鼠标、键盘自动控制功能,然后加上网络传输功能来完成来完成截屏和远程控制的。
2.2.2 系统运行概述1.启动被监控端,打开指定的UDP端口号。
2.被监控端读取命令(命令格式为ordername:port)ordername为命令名字,port为主控端打开的TCP端口。
3.接到主控端连接后,被监控端就对当前用户的桌面采用屏幕截取,然后发送给主控端。
依被监控端设计的不同,可以设定屏幕截取的时间间隔,时间间隔短一点就可以获得连续屏幕变化了。
4.主控端在画布上对鼠标、键盘事件进行监听,被监控端重演主控端上的事件5.主控端和被监控端读取和发送数据,分别来实现文件上传和下载。
6.在被监控端实现DOS命令的执行。
2.2.3 系统的关键技术系统使用的关键技术就是Java网络编程和Java图形编程。
用Java网络编程实现主控端和被监控端的通讯(命令收发、数据传送),用Java图形编程完成主控端控制界面的编写。
1.实现主控端(服务器)与被监控端(客户端)之间的通讯。
——用Java Socket来实现。
2.用Java采集事件,封装成消息,用于发送。
——在主控端机器上采集事件(一般只不过是键盘和鼠标的事件),然后封装成消息类传输到被监控端。
3.在被监控端上重演主控端的动作事件。
——在被监控端运行client端,接收消息,如果主控端有请求操作的消息,用Robot截下当前屏幕,传给主控端,主控端显示被监控端的屏幕,是一个位图;然后接收在这个位图上的鼠标事件和键盘事件,并把鼠标位置(位图上的坐标换算成对应的屏幕上的坐标)和键值送到被监控端上,在被监控端上重演同样的事件。
2.3 系统的开发平台JDK1.5.0,Eclipse3.1,Windows XP Professional2.3.1 Eclipse介绍Eclipse是一种可扩展的开放源代码IDE。
2001年11月,IBM公司捐出价值4,000万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。
集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。
为了帮助集成开发环境 (IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。
Eclipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际的嵌入式目标上。
Eclipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。
Eclipse是一个开放源代码的项目,任何人都可以下载Eclipse的源代码,并且在此基础上开发自己的功能插件。
同时可以通过开发新的插件扩展现有插件的功能,比如在现有的Java开发环境中加入Tomcat服务器插件。
可以无限扩展,而且有着统一的外观,操作和系统资源管理,这也正是Eclipse的潜力所在。
Java语言是SUN公司于1995年5月推出的新一代面向对象的计算机通用编程语言,是继WWW之后又一引起世界轰动的产品。
Java语言的特点是跨平台和强大的网络编程功能。
在Java语言诞生之前,Internet已存在,所以Java语言本身就封装了大量进行网络编程的类库,使得网络编程功能强大,同时又简化了网络编程的操作。
因此利用Java语言可以开发出功能强大的网络应用程序。
功能:Java归档工具语法:jar [命令选项] [manifest] destination input-file [input-files] jar工具是个java应用程序,可将多个文件合并为单个JAR归档文件。
jar是个多用途的存档及压缩工具,它基于ZIP和ZLIB压缩格式。
然而,设计jar的主要目的是便于将java applet或应用程序打包成单个归档文件。
将applet或应用程序的组件(.class文件、图像和声音)合并成单个归档文件时,可以用java代理(如浏览器)在一次HTTP事务处理过程中对它们进行下载,而不是对每个组件都要求一个新连接。
这大大缩短了下载时间。
jar还能压缩文件,从而进一步提高了下载速度。
此外,它允许applet的作者对文件中的各个项进行签名,因而可认证其来源。
jar工具的语法基本上与tar命令的语法相同。
-c:在标准输出上创建新归档或空归档。
-t:在标准输出上列出内容表。
-x[file]:从标准输入提取所有文件,或只提取指定的文件。
如果省略了file,则提取所有文件;否则只提取指定文件。
-f:第二个参数指定要处理的jar文件。
在-c(创建)情形中,第二个参数指的是要创建的jar文件的名称(不是在标准输出上)。
在-t(表(或-x(抽取)这两种情形中,第二个参数指定要列出或抽取的jar文件。
-v:在标准错误输出设备上生成长格式的输出结果。
-m:包括指定的现有清单文件中的清单信息。