毕业设计(论文)-分布计算基础结构原理模拟--客户端_第1页
毕业设计(论文)-分布计算基础结构原理模拟--客户端_第2页
毕业设计(论文)-分布计算基础结构原理模拟--客户端_第3页
毕业设计(论文)-分布计算基础结构原理模拟--客户端_第4页
毕业设计(论文)-分布计算基础结构原理模拟--客户端_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计论文题目分布计算基础结构原理模拟客户端所属系计算机工程系专业计算机科学与技术学号01108606姓名指导教师二O一二年三月十三日I分布计算基础结构原理模拟客户端摘要当今社会是一个信息高速发展的社会,计算机在各行各业的应用越来越广泛。计算机的硬件技术也已经达到了很高的水平,但软件水平的发展总比硬件领先一步。计算任务对硬件的要求越来越高,在硬件未及时同步发展的时候,软件实现的方法应运而生。分布计算是基于分布式系统的一种计算模型。分布计算模型的特点有由多个处理机或者多个计算机组成,这些计算机或处理器可以在物理上相邻,用机器内部总线或开关连接,通过共享主存进行通信,也可以在地理上分散,用计算机网络互联,采用消息通信,同时计算过程对用户是透明的,即使用户使用计算机资源进行计算时,也不知道这些资源存在何处。由于单台计算机的计算能力有限,在实际应用中,我们常常将计算任务分成多个子任务,将每个子任务,放到网络中不同的计算机上进行计算,实现分布式计算,以加快我们的计算速度。本实例是在JAVA开发平台MYECLIPSE上编写的,基于SOCKET实现两个数值X和Y进行减法、减法、乘法和除法等四则运算,从而实现分布计算的简单应用。关键词分布计算、SOCKET、多线程IIABSTRACTNOWADAYS,INFORMATIONTECHNOLOGYISDEVELOPINGWITHHIGHSPEED,THECOMPUTERISMOREANDMOREUSEDEDEXTENSIVELYTHEEVERYTRADETHEHARDWARETECHNIQUEOFTHECOMPUTERALSOHASALREADYCOMETOATHEVERYHIGHLEVEL,BUTTHEDEVELOPMENTOFSOFTWAREISMOREFASTERTHANHARDWARETHEREQUESTOFNEWBUILDEDPROCEDURETOHARDWAREISMOREANDMOREHIGH,ATTHETIMEOFHARDWAREDIDNOTDEVELOPINTIMEANDSYNCHRONOUSLY,THEMETHODOFTHESOFTWAREREALIZATIONEMERGEWITHTHETIDEOFTHETIMESDISTRIBUTETHECALCULATIONISACCORDINGTOAKINDOFCALCULATIONMODELOFTHEDISTRIBUTETYPESYSTEMTHECHARACTERISTICSOFDISTRIBUTESTOCOMPUTETHEMODELHANDLEFROMMANIESMACHINEORSEVERALCOMPUTERCONSTITUTE,THESECOMPUTERORPROCESSORCANBECLOSETOGETHERINTHEPHYSICS,SWITCHCONJUNCTIONSUSINGTHEMACHINEINTERNALANDTOTALLINE,CONNECTEDTHROUGHINTERNTMAINLINEORSWITCH,ALSOCANONTHEGEOGRAPHYDISPERSION,USETHECALCULATORNETWORKWITHEACHOTHER,ADOPTTHENEWSCORRESPONDENCE,COMPUTETHEPROCESSATTHESAMETIMETRANSPARENTTOCUSTOMER,EVENCUSTOMERUSAGETHECALCULATORRESOURCESCARRIESONTHECALCULATION,ALSONOTKNOWTHATTHESERESOURCESESSAVEWHEREBECAUSETHECALCULATIONABILITYOFTHESINGLEPEDESTALCALCULATORISLIMITED,INACTUALLYAPPLY,WEUSUALLYAREDIVIDEDINTOTHECALCULATIONMISSIONMANYSTATURESMISSION,PUTEACHSTATURESMISSION,THEDIFFERENTCALCULATOROFNETWORKGOESFORWARDTOGOTHECALCULATION,CARRYINGOUTTHEDISTRIBUTETYPECALCULATION,TOSPEEDOURCALCULATIONSPEEDTHEORIGINALLYSOLIDEXAMPLEDEVELOPSTHETERRACEMYECLIPSE85INTHEJAVATOWRITEUPTHEPLAIT,CARRYINGOUTTWOVALUESXANDYOFTHEFOUROPERATIONSOFSUBTRACTION,SUBTRACTION,MULTIPLICATIONANDDIVISIONACCORDINGTOTHESOCKET,THUSCARRYINGOUTAIMPLEAPPLICATIONOFDISTRIBUTEDCALCULATINGKEYWORDSDISTRIBUTEDCALCULATING,SOCKET,MUTIPULEPROCESSIII目录摘要IABSTRACTII第一章引言111传统的网络应用模式112什么叫分布式计算113分布式应用概述114研究现状215本系统主要内容及结构框架3第二章可行性研究521功能需求522可行性研究523技术可行性524需求分析625业务结构图7第三章系统设计831系统功能模块图832各模块功能设计8321输入X和Y值8322选择具体的操作8323启动总线9324发送9325释放总线9326查找对象1033详细设计1134各模块详细设计19341输入X和Y值19343启动总线21346查找对象23第四章系统测试与分析25总结26致谢27参考文献28东南大学成贤学院毕业设计报告1第一章引言在当今的互联世界中,越来越多的企业应用程序跨多个服务器分布和运行、连接到远程数据源和WEBSERVICE,并可通过INTERNET访问。分布式计算功能强大,但也并非没有面临挑战。网络在本质上并不可靠,同本地的进程间通信相比,与远程服务器的通信速度较慢。另外,同时在多台计算机上运行一个程序可能会导致许多并发和同步问题。11传统的网络应用模式随着INTERNET以及WEB技术和分布式对象技术的广泛使用,网络应用的规模越来越大、计算环境也越来越复杂,应用呈现出多层次、多样化的特点。传统应用系统的弊端日益凸显,已经不能适应企业业务不断发展的需求。12什么叫分布式计算所谓分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。13分布式应用概述在C/S模式弊端凸显的时候,产生了分布式应用系统开发模型。分布式应用系统与传统的C/S模式相比有着极大的优势,主要体现在可伸缩性好。可管理性强。安全性高软件复用性好。开发周期短等诸多优点。以上优点在INTERNET/INTRANET环境下,显得更加突出。分布式网络存储技术是将数据分散的存储于多台独立的机器设备上。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,不但解决了传统集中式存储系统中单存储服务器的瓶颈问题,还提高了系统的可靠性、可用性和扩展性。分布式就是数据和程序可以不位于一个服务器上,而是分散到多个服务器,以网络上分散分布的地理信息数据及受其影响的数据库操作为研究对象的一种理论计算模型。分布式有利于任务在整个计算机系统上进行分配与优化,克服了传统集中式系统会导致中心主机资源紧张与响应瓶颈的缺陷,解决了网络GIS中存在的数据异构、数据共享、运算复杂东南大学成贤学院毕业设计报告2等问题,是地理信息系统技术的一大进步。14研究现状随着计算机的普及,个人电脑开始进入千家万户。与之伴随产生的是电脑的利用问题。越来越多的电脑处于闲置状态,即使在开机状态下中央处理器的潜力也远远不能被完全利用。我们可以想象,一台家用的计算机将大多数的时间花费在“等待”上面。即便是使用者实际使用他们的计算机时,处理器依然是寂静的消费,依然是不计其数的等待(等待输入,但实际上并没有做什么)。互联网的出现,使得连接调用所有这些拥有限制计算资源的计算机系统成为了现实。那么,一些本身非常复杂的但是却很适合于划分为大量的更小的计算片断的问题被提出来,然后由某个研究机构通过大量艰辛的工作开发出计算用服务端和客户端。服务端负责将计算问题分成许多小的计算部分,然后把这些部分分配给许多联网参与计算的计算机进行并行处理,最后将这些计算结果综合起来得到最终的结果。最近的分布式计算项目已经被用于使用世界各地成千上万位志愿者的计算机的闲置计算能力,通过因特网,您可以分析来自外太空的电讯号,寻找隐蔽的黑洞,并探索可能存在的外星智慧生命;您可以寻找超过1000万位数字的梅森质数;您也可以寻找并发现对抗艾滋病病毒的更为有效的药物。这些项目都很庞大,需要惊人的计算量,仅仅由单个的电脑或是个人在一个能让人接受的时间内计算完成是决不可能的。其中较为著名的是1解决较为复杂的数学问题,例如GIMPS(寻找最大的梅森素数)。2研究寻找最为安全的密码系统,例如RC72(密码破解)。3生物病理研究,例如FOLDINGHOME(研究蛋白质折叠,误解,聚合及由此引起的相关疾病)。4各种各样疾病的药物研究,例如UNITEDDEVICES(寻找对抗癌症的有效的药物)。5信号处理,例如SETIHOME(在家寻找地外文明)。从以上的5个典型案例问题不难看出,对于一些需要非常巨大的计算能力才能解决的问题,一般是跨学科的、极富挑战性的、人类急待解决的科研课题。这些项目都很庞大,需要惊人的计算量,仅仅由单个的电脑或是个人在一个能让人接受的时间内计算完成是决不可能的。在以前,这些问题都应该由超级计算机来解决。但是,超级计算机的造价和维护非常的昂贵,这不是一个普通的科研组织所能承受的。对于这些复杂问题分布式计算比起其它算法具有以下几个优点1稀有资源可以共享。2通过分布式计算可以在多台计算机上平衡计算负载。3可以把程序放在最适合运行它的计算机上。在计算机科学领域中的分布式计算方法在我们发展中国家的发展依赖于国家的计算机与网络的发展水平。据中国互联网信息中心(CNNIC)的统计信息,中文网民人数占世界的东南大学成贤学院毕业设计报告3比重已经增长到了12左右,并且还在快速增长着。这里所说的中文网民是包括大陆、香港、澳门、台湾和海外华人的。您也许会问互联网在中国快速发展的原因。我想,主要有以下几个方面。价格便宜在天津一根512K的ADSL包月才80元人民币左右。教育体制最近政府花了巨资帮助大学、初高中修建了多媒体信息教室,这使得很多学生对信息技术充满着兴趣和渴望。相比于互联网在中国的快速发展,中国的分布式计算却发展缓慢。就我看来,网民数量的统计并不能十分客观地反映一个国家信息化程度的高低,而参与分布式计算网民的数量或比例却可以明显地看出这个国家科学普及化的水平。在这方面,毋庸置疑,欧美国家是十分领先的。在北欧国家,几乎一半的电脑参加了分布式计算项目,这是一个惊人的数字。再让我们来看看我们中国和印度,尽管我们拥有了不少最新科技,且看上去在网络普及化进程中有不错表现,但是在分布式计算方面却很薄弱。让我们来看个例子SETIHOME是世界上最大的分布式计算项目。从中国的参与人数来看,它在中国也是最著名的项目。它通过使用联网的计算机下载程序分析射电望远镜所收到的讯号,来搜索地球外的生命迹象。尽管中国在近一年来有所进步,中国的国际排名从29上升到了24,但是我们中国用户却仍然只完成了日本用户完成的工作数的十分之一,而日本,这个高度发达的国家网民人数缺少于中国。看来,提高网民素质、提高科学普及化程度也是十分重要的。印度和一些中东国家也有相似的问题,而中欧国家明显在这方面作得比较好,不少独联体国家所完成的数据量已经超过了俄罗斯联邦的总合。中国目前已经有了很多计算机,其中不乏性能极其先进的。而他们中的大多数仅仅是打字、播放幻灯而已。这不能不说是一种资源的浪费。从另外一个角度看,我们不难发现发达国家和发展中国家的差距。我们把这种现象称为数字鸿沟。另一个现象同样令人痛心疾首,所有的分布式计算项目都是由发达国家发起的,这一方面也加深了科学鸿沟。斯坦福大学化学系的戈尔哈姆理查德切尔曼教授说,分布式计算将加快整个人类的科学进程。科学家们现在可以完成以前从来想不到要去完成的,或者要花几十年几百年才能完成的计算任务。这是的确是千真万确的,但是这种计算从一定程度上助长了发达国家的科学垄断。15本系统主要内容及结构框架论文首先概述性介绍了系统设计的目标原则、体系结构及功能模块划分。采用模型分析方法进行系统分析及设计,最后论述了系统的实现及测试环节。系统的结构图如图11所示。东南大学成贤学院毕业设计报告4图11系统结构图分布式计算系统的主要功能是客户端通过总线向服务器端发送需要运算的数据,服务器端在接收到客户端发送来的数据并且确认后进行相应的运算,最后将结果返回给客户端,所有运算都经过总线,而网络层被屏蔽。具体实现如图12所示。图12系统图东南大学成贤学院毕业设计报告5第二章可行性研究本章主要从功能和性能方面着手,其中涉及功能需求、可行性研究和技术可行性。21功能需求在技术上,目前高性能的计算机硬件层出不穷,他们速度快,容量大,可靠性高,价格低,完全满足本系统的需要。使用MYECLIPSE作为开发工作。合理构建模型,定义关系表,就可以做出本系统。在经济上,现有的硬件配置大部分满足本系统的需要,开发本系统所花费用甚少。且本系统如果成功实施将会使企业的成本大大节约、精简工作人员、提高工作效率、缩短工作周期、取得更可观的成绩。1、操作系统操作系统对使用JAVA开发分布式系统的影响不是很大,WINDOWS2000、WINDOWSXP都可以。我选用了稳定性较好的WINDOWSXP。2、MYECLIPSEMYECLIPSE,是一个十分优秀的用于开发JAVA,J2EE的ECLIPSE插件集合,MYECLIPSE的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MYECLIPSE企业级工作平台(MYECLIPSEENTERPRISEWORKBENCH,简称MYECLIPSE)是对ECLIPSEIDE的扩展,利用它我们可以在数据库和JAVAEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JAVAEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,STRUTS,JSP,CSS,JAVASCRIPT,SPRING,SQL,HIBERNATE。随着MYECLIPSE85的发布,很多MYECLIPSE都已经开始转型成MYECLIPSE85工作了,MYECLIPSE85不但集成最新版本的ECLIPSE352同时包含了大量当前最新版的开源框架的插件支持。作为目前最新版本的MYECLIPSE85来说包含了不少吸引人的新特性,尤其是在对主流JAVA框架的支持都更新了不少,由于目前MYECLIPSE85还只是M1版本,因此作为开发版本使用估计不太可能(当然如果喜欢尝鲜,装个玩玩应该是没问题)。22可行性研究可行性研究分为技术可行性研究、操作可行性研究、经济可行性研究,而本设计用于毕业设计,暂不考虑经济可行性。23技术可行性1ACTIONLISTENER技术可行性东南大学成贤学院毕业设计报告6用于接收操作事件的侦听器接口。对处理操作事件感兴趣的类可以实现此接口,而使用该类创建的对象可使用组件的ADDACTIONLISTENER方法向该组件注册。在发生操作事件时,调用该对象的ACTIONPERFORMED方法。ACTIONLISTENER字面上理解就是动作监听器。它是一个接口,在实现此接口的类中,你可以给需要关注其动作的组件(如BUTTON)添加监听器(ADDACTIONLISTENERTHIS),之后在事件处理方法(PUBLICVOIDACTIONPERFORMEDACTIONEVENTEVENT)中,对每个事件进行不同处理。关于ACTIONLISTENER的响应问题,就我的理解可以有两种方法。第一种就是你放到一个新的类里面,实现ACTIONLISTENER接口,然后写好PUBLICVOIDACTIONPERFORMEDACTIONEVENTE的方法。这种当继续自JFRAME还是蛮有用的,但是假如是一个在PUBLICSTATICVOIDMAINSTRINGARGS中建立一个JFRAME,然后对里面的比如按钮实现监听,那么去实现ACTIONLISTENER接口就不那么合适了。也就是在ADDACTIONLISTENER的参数中新定义到一个ACTIONLISTENNER并重写它的ACTIONPERFORMED。不过要注重的是,这个ACTIONPERFORMED一定要是PUBLIC的,不然权限不够。还有就是里面用到的组件在外部必须声明为FINAL的,这点也许会造成些许使用的限制。2SOCKET技术可行性SOCKET通信属于网络底层通信,它是网络上运行的两个程序间双向通信的一端,既可以接受请求,也可以发送请求,利用它可以比较方便地进行网络上的数据传输。SOCKET首先需要建立稳定的连接,然后以流的方式传输数据,实现网络通信。24需求分析本系统基于C/S架构,目标系统应该达到以下要求1、时间经济性优化逻辑设计与物理设计,使系统运行效率高,反映速度快。2、可靠性能连续准确的处理业务,有较强的容错能力。3、可理解性用户容易理解和使用该系统。4、可维护性和适应性系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需要。5、可用性目标系统功能齐全,能够完全满足业务需求。6、安全保密性保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密,做好使用人员的授权管理。客户端的功能主要有输入X和Y值客户端这里是输入两个数值X和Y,在做分布式模拟运算的时候,把这两个数值传给服务器端,服务器接收这两个数值,然后作为加减乘除四则运算的的两个数值。东南大学成贤学院毕业设计报告7选择具体的操作客户端再输入完两个数值之后,在此选择具体要操作的功能,这里提供的功能操作有四个,分别是加法、减法、乘法和除法。查找总线查找总线指的是客户端,查找对应服务器端的机器,然后建立SOCKET连接,只有建立了连接之后,才能将输入的X和Y数值、选择的具体操作运算符等发送到服务器端。发送客户端连接好服务服务器之后,单击发送,就会把输入的X和Y数值、选择的具体操作运算符等发送到服务器端,服务器端接收到数据之后进行相应的运算,并将运算结果返回给客户端,在客户端界面显示相应的运算结果。释放总线客户端运算完毕之后单击释放总线按钮,就会把断开与服务器端的连接。25业务结构图总体的业务流程图如图21所示。图21业务结构流程图东南大学成贤学院毕业设计报告8第三章系统设计了解什么是分布式计算以及分布式计算系统的具体需求之后就要对该系统进行详细的分析和设计。31系统功能模块图根据上面的研究和分析客户端功能如下输入X和Y值客户端这里是输入两个数值X和Y,在做分布式模拟运算的时候,把这两个数值传给服务器端,服务器接收这两个数值,然后作为加减乘除四则运算的的两个数值。选择具体的操作客户端再输入完两个数值之后,在此选择具体要操作的功能,这里提供的功能操作有四个,分别是加法、减法、乘法和除法。启动总线启动总线指的是客户端,查找对应服务器端的机器,然后建立SOCKET连接,只有建立了连接之后,才能将输入的X和Y数值、选择的具体操作运算符等发送到服务器端。发送客户端连接好服务服务器之后,单击发送,就会把输入的X和Y数值、选择的具体操作运算符等发送到服务器端,服务器端接收到数据之后进行相应的运算,并将运算结果返回给客户端,在客户端界面显示相应的运算结果。释放总线客户端运算完毕之后单击释放总线按钮,就会把断开与服务器端的连接。查找对象在选择下拉框中的运算对象后,可以根据查找对象按钮来确定服务器端有没有此运算。32各模块功能设计321输入X和Y值输入X和Y值客户端这里是输入两个数值X和Y,在做分布式模拟运算的时候,把这两个数值传给服务器端,服务器接收这两个数值,然后作为加减乘除四则运算的的两个数值。东南大学成贤学院毕业设计报告9322选择具体的操作选择具体的操作客户端再输入完两个数值之后,在此选择具体要操作的功能,这里提供的功能操作有四个,分别是加法、减法、乘法和除法。323启动总线启动总线启动总线指的是客户端,查找对应服务器端的机器,然后建立SOCKET连接,只有建立了连接之后,才能将输入的X和Y数值、选择的具体操作运算符等发送到服务器端。324发送发送客户端连接好服务服务器之后,单击发送,就会把输入的X和Y数值、选择的具体操作运算符等发送到服务器端,服务器端接收到数据之后进行相应的运算,并将运算结果返回给客户端,在客户端界面显示相应的运算结果。325释放总线释放总线客户端运算完毕之后单击释放总线按钮,就会把断开与服务器端的连接。具体的处理流程如图31所示东南大学成贤学院毕业设计报告10图31流程图326查找对象查找对象在选择下拉框中的运算对象后,可以根据查找对象按钮来确定服务器端有没有此运算。东南大学成贤学院毕业设计报告1133详细设计总体设计阶段以比较抽象概括的方式提出了解决问题的办法。详细设计是软件开发时期的第三个阶段,也是软件设计的第二步。其任务就是把解法具体化,也就是回答下面这个关键的问题“应该怎样具体地实现这个系统呢”,通过详细设计应该得出对目标系统的精确描述,给出各个模块的详细过程性描述。从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。输入X和Y值客户端这里是输入两个数值X和Y,在做分布式模拟运算的时候,把这两个数值传给服务器端,服务器接收这两个数值,然后作为加减乘除四则运算的的两个数值。选择具体的操作客户端再输入完两个数值之后,在此选择具体要操作的功能,这里提供的功能操作有四个,分别是加法、减法、乘法和除法。查找总线查找总线指的是客户端,查找对应服务器端的机器,然后建立SOCKET连接,只有建立了连接之后,才能将输入的X和Y数值、选择的具体操作运算符等发送到服务器端。发送客户端连接好服务服务器之后,单击发送,就会把输入的X和Y数值、选择的具体操作运算符等发送到服务器端,服务器端接收到数据之后进行相应的运算,并将运算结果返回给客户端,在客户端界面显示相应的运算结果。释放总线客户端运算完毕之后单击释放总线按钮,就会把断开与服务器端的连接。331客户端代码示例IMPORTJAVAAWTIMPORTJAVAAWTEVENTIMPORTJAVANETIMPORTJAVAUTILHASHMAPIMPORTJAVAUTILLINKEDLISTIMPORTJAVAIOIMPORTJAVAXSWINGJCOMBOBOXIMPORTJAVAXSWINGJLABELPUBLICCLASSMYCLIENTEXTENDSFRAMEIMPLEMENTSACTIONLISTENERSOCKETCLIENTSOCKET东南大学成贤学院毕业设计报告12PRINTSTREAMOSDATAINPUTSTREAMISSTRINGSLABELMYLABELNEWLABEL“请输入两个数值X和Y“LABELENTER1NEWLABEL“X的值是“LABELENTER2NEWLABEL“Y的值是“TEXTFIELDENTERXNEWTEXTFIELD0TEXTFIELDENTERYNEWTEXTFIELD0/操作符下拉JCOMBOBOXCBOSHENGNEWJCOMBOBOXLINKEDLISTLISSHENGNULLTEXTAREATEXTAREABUTTONLINENEWBUTTON“启动总线“BUTTONOPENNEWBUTTON“释放总线“BUTTONMYBUTTONNEWBUTTON“发送“BUTTONBUNEWBUTTON“查找对象“BOOLEANFLAGFALSEPUBLICMYCLIENTSETTITLE“分布计算基础结构原理模拟客户端“GRIDBAGLAYOUTGBLNEWGRIDBAGLAYOUTGRIDBAGCONSTRAINTSGBCNEWGRIDBAGCONSTRAINTSSETLAYOUTGBLTHISADDWINDOWLISTENERNEWWINADPTCLIENTTHISTEXTAREANEWTEXTAREA20,50GBCGRIDX1GBCGRIDY1GBCGRIDWIDTH5GBCGRIDHEIGHT1GBCFILLGRIDBAGCONSTRAINTSHORIZONTALGBCWEIGHTX1GBCWEIGHTY0东南大学成贤学院毕业设计报告13GBCINSETSNEWINSETS2,6,1,6GBLSETCONSTRAINTSMYLABEL,GBCADDMYLABELGBCGRIDX1GBCGRIDY2GBCGRIDWIDTH1GBCGRIDHEIGHT1GBCANCHORGRIDBAGCONSTRAINTSWESTGBCWEIGHTX1GBCWEIGHTY0GBCINSETSNEWINSETS2,6,1,6GBLSETCONSTRAINTSENTER1,GBCADDENTER1GBCGRIDX3GBCGRIDY2GBCGRIDWIDTH1GBCGRIDHEIGHT1GBCANCHORGRIDBAGCONSTRAINTSWESTGBCWEIGHTX1GBCWEIGHTY0GBCINSETSNEWINSETS2,6,1,6GBLSETCONSTRAINTSENTER2,GBCADDENTER2GBCGRIDX2GBCGRIDY2GBCGRIDWIDTH1GBCGRIDHEIGHT1GBCANCHORGRIDBAGCONSTRAINTSSOUTHEASTGBCWEIGHTX1GBCWEIGHTY0GBCINSETSNEWINSETS2,6,1,6GBLSETCONSTRAINTSENTERX,GBCADDENTERXGBCGRIDX4GBCGRIDY2GBCGRIDWIDTH1GBCGRIDHEIGHT1GBCANCHORGRIDBAGCONSTRAINTSSOUTHEAST东南大学成贤学院毕业设计报告14GBCWEIGHTX1GBCWEIGHTY0GBCINSETSNEWINSETS2,6,1,6GBLSETCONSTRAINTSENTERY,GBCADDENTERY/操作符下拉GBCGRIDX5GBCGRIDY2GBCGRIDWIDTH1GBCGRIDHEIGHT1GBCANCHORGRIDBAGCONSTRAINTSSOUTHEASTGBCWEIGHTX1GBCWEIGHTY0GBCINSETSNEWINSETS2,6,1,6GBLSETCONSTRAINTSCBOSHENG,GBC/CBOSHENGSETFONTNEWJAVAAWTFONT“DIALOG“,FONTBOLD,13CBOSHENGSETBOUNDSNEWRECTANGLE106,49,231,33ADDCBOSHENGADDINFOGBCGRIDX1GBCGRIDY3GBCGRIDHEIGHT1GBCFILLGRIDBAGCONSTRAINTSHORIZONTALGBCWEIGHTX1GBCWEIGHTY0GBCINSETSNEWINSETS2,6,1,6GBLSETCONSTRAINTSMYBUTTON,GBCMYBUTTONSETBACKGROUNDCOLORLIGHTGRAYMYBUTTONADDACTIONLISTENERTHISADDMYBUTTONGBCGRIDX3GBCGRIDY3GBCGRIDHEIGHT1GBCFILLGRIDBAGCONSTRAINTSHORIZONTALGBCWEIGHTX1GBCWEIGHTY0GBCINSETSNEWINSETS2,6,1,6GBLSETCONSTRAINTSLINE,GBCLINESETBACKGROUNDCOLORLIGHTGRAY东南大学成贤学院毕业设计报告15LINEADDACTIONLISTENERTHISADDLINEGBCGRIDX4GBCGRIDY3GBCGRIDHEIGHT1GBCFILLGRIDBAGCONSTRAINTSHORIZONTALGBCWEIGHTX1GBCWEIGHTY0GBCINSETSNEWINSETS2,6,1,6OPENSETBACKGROUNDCOLORLIGHTGRAYGBLSETCONSTRAINTSOPEN,GBCOPENADDACTIONLISTENERTHISADDOPENGBCGRIDX5GBCGRIDY3GBCGRIDHEIGHT1GBCFILLGRIDBAGCONSTRAINTSHORIZONTALGBCWEIGHTX1GBCWEIGHTY0GBCINSETSNEWINSETS2,6,1,6BUSETBACKGROUNDCOLORLIGHTGRAYGBLSETCONSTRAINTSBU,GBCBUADDACTIONLISTENERTHISADDBUGBCGRIDX1GBCGRIDY4GBCGRIDWIDTH5GBCGRIDHEIGHT1GBCFILLGRIDBAGCONSTRAINTSHORIZONTALGBCWEIGHTX1GBCWEIGHTY0GBCINSETSNEWINSETS2,6,1,6GBLSETCONSTRAINTSTEXTAREA,GBCADDTEXTAREASETRESIZABLEFALSEPACKDIMENSIONSCREENSIZE东南大学成贤学院毕业设计报告16TOOLKITGETDEFAULTTOOLKITGETSCREENSIZEDIMENSIONFRAMESIZETHISGETSIZEIFFRAMESIZEHEIGHTSCREENSIZEHEIGHTFRAMESIZEHEIGHTSCREENSIZEHEIGHTIFFRAMESIZEWIDTHSCREENSIZEWIDTHFRAMESIZEWIDTHSCREENSIZEWIDTHTHISSETLOCATIONSCREENSIZEWIDTHFRAMESIZEWIDTH/2,SCREENSIZEHEIGHTFRAMESIZEHEIGHT/2SHOW/CONNECTPRIVATEVOIDADDINFOLISSHENGNEWLINKEDLISTLISSHENGADDLAST“加法“LISSHENGADDLAST“减法“LISSHENGADDLAST“乘法“LISSHENGADDLAST“除法“/向下拉列表框添加对应的值FORINTI0ILISSHENGSIZEICBOSHENGADDITEMLISSHENGGETIPUBLICVOIDCONNECTTRYCLIENTSOCKETNEWSOCKETINETADDRESSGETLOCALHOST,8000东南大学成贤学院毕业设计报告17OSNEWPRINTSTREAMNEWBUFFEREDOUTPUTSTREAMCLIENTSOCKETGETOUTPUTSTREAMISNEWDATAINPUTSTREAMNEWBUFFEREDINPUTSTREAMCLIENTSOCKETGETINPUTSTREAMSISREADLINETEXTAREAAPPENDTEXTS“N“CATCHEXCEPTIONEPUBLICVOIDACTIONPERFORMEDACTIONEVENTEIFEGETSOURCEMYBUTTONIFFLAGCONNECTTRYOSPRINTLNENTERXGETTEXTOSPRINTLNENTERYGETTEXTOSPRINTLNCBOSHENGGETSELECTEDINDEXOSFLUSHCATCHEXCEPTIONATRYISNEWDATAINPUTSTREAMNEWBUFFEREDINPUTSTREAMCLIENTSOCKETGETINPUTSTREAMSISREADLINETEXTAREAAPPENDTEXTS“N“CATCHEXCEPTIONAELSEIFEGETACTIONCOMMAND“启动总线“CONNECT东南大学成贤学院毕业设计报告18FLAGTRUEELSEIFEGETACTIONCOMMAND“释放总线“TRYISCLOSEOSCLOSECLIENTSOCKETCLOSECATCHEXCEPTIONAFLAGFALSEELSEIFEGETACTIONCOMMAND“查找对象“TEXTAREAAPPENDTEXTS“对象存在“N“PUBLICSTATICVOIDMAINSTRINGARGSNEWMYCLIENTCLASSWINADPTCLIENTEXTENDSWINDOWADAPTERMYCLIENTM_PARENTWINADPTCLIENTMYCLIENTPM_PARENTPPUBLICVOIDWINDOWCLOSINGWINDOWEVENTETRY东南大学成贤学院毕业设计报告19M_PARENTISCLOSEM_PARENTOSCLOSEM_PARENTCLIENTSOCKETCLOSEM_PARENTDISPOSESYSTEMEXIT0CATCHEXCEPTIONA34各模块详细设计根据功能设计等相关内容,可以对本系统进行详细设计。341输入X和Y值输入X和Y值客户端这里是输入两个数值X和Y,在做分布式模拟运算的时候,把这两个数值传给服务器端,服务器接收这两个数值,然后作为加减乘除四则运算的的两个数值。相应的代码如下LABELMYLABELNEWLABEL“请输入两个数值X和Y“LABELENTER1NEWLABEL“X的值是“LABELENTER2NEWLABEL“Y的值是“TEXTFIELDENTERXNEWTEXTFIELD0TEXTFIELDENTERYNEWTEXTFIELD0GBCGRIDX1GBCGRIDY1GBCGRIDWIDTH5GBCGRIDHEIGHT1GBCFILLGRIDBAGCONSTRAINTSHORIZONTALGBCWEIGHTX1GBCWEIGHTY0GBCINSETSNEWINSETS2,6,1,6GBLSETCONSTRAINTSMYLABEL,GBCADDMYLABEL东南大学成贤学院毕业设计报告20GBCGRIDX1GBCGRIDY2GBCGRIDWIDTH1GBCGRIDHEIGHT1GBCANCHORGRIDBAGCONSTRAINTSWESTGBCWEIGHTX1GBCWEIGHTY0GBCINSETSNEWINSETS2,6,1,6GBLSETCONSTRAINTSENTER1,GBCADDENTER1GBCGRIDX3GBCGRIDY2GBCGRIDWIDTH1GBCGRIDHEIGHT1GBCANCHORGRIDBAGCONSTRAINTSWESTGBCWEIGHTX1GBCWEIGHTY0GBCINSETSNEWINSETS2,6,1,6GBLSETCONSTRAINTSENTER2,GBCADDENTER2GBCGRIDX2GBCGRIDY2GBCGRIDWIDTH1GBCGRIDHEIGHT1GBCANCHORGRIDBAGCONSTRAINTSSOUTHEASTGBCWEIGHTX1GBCWEIGHTY0GBCINSETSNEWINSETS2,6,1,6GBLSETCONSTRAINTSENTERX,GBCADDENTERXGBCGRIDX4GBCGRIDY2GBCGRIDWIDTH1GBCGRIDHEIGHT1GBCANCHORGRIDBAGCONSTRAINTSSOUTHEASTGBCWEIGHTX1GBCWEIGHTY0GBCINSETSNEWINSETS2,6,1,6GBLSETCONSTRAINTSENTERY,GBC东南大学成贤学院毕业设计报告21ADDENTERY运行效果如下342选择具体的操作选择具体的操作客户端再输入完两个数值之后,在此选择具体要操作的功能,这里提供的功能操作有四个,分别是加法、减法、乘法和除法。/操作符下拉GBCGRIDX5GBCGRIDY2GBCGRIDWIDTH1GBCGRIDHEIGHT1GBCANCHORGRIDBAGCONSTRAINTSSOUTHEASTGBCWEIGHTX1GBCWEIGHTY0GBCINSETSNEWINSETS2,6,1,6GBLSETCONSTRAINTSCBOSHENG,GBC/CBOSHENGSETFONTNEWJAVAAWTFONT“DIALOG“,FONTBOLD,13CBOSHENGSETBOUNDSNEWRECTANGLE106,49,231,33ADDCBOSHENGADDINFO运行效果如下343启动总线启动总线查找总线指的是客户端,查找对应服务器端的机器,然后建立SOCKET连接,只有建立了连接之后,才能将输入的X和Y数值、选择的具体操作运算符等发送到服务器端。东南大学成贤学院毕业设计报告22GBCGRIDX3GBCGRIDY3GBCGRIDHEIGHT1GBCFILLGRIDBAGCONSTRAINTSHORIZONTALGBCWEIGHTX1GBCWEIGHTY0GBCINSETSNEWINSETS2,6,1,6GBLSETCONSTRAINTSLINE,GBCLINESETBACKGROUNDCOLORLIGHTGRAYLINEADDACTIONLISTENERTHISADDLINE运行效果如下344发送发送客户端连接好服务服务器之后,单击发送,就会把输入的X和Y数值、选择的具体操作运算符等发送到服务器端,服务器端接收到数据之后进行相应的运算,并将运算结果返回给客户端,在客户端界面显示相应的运算结果。GBCGRIDX1GBCGRIDY3GBCGRIDHEIGHT1GBCFILLGRIDBAGCONSTRAINTSHORIZONTALGBCWEIGHTX1GBCWEIGHTY0GBCINSETSNEWINSETS2,6,1,6GBLSETCONSTRAINTSMYBUTTON,GBCMYBUTTONSETBACKGROUNDCOLORLIGHTGRAYMYBUTTONADDACTIONLISTENERTHISADDMYBUTTON运行效果如下东南大学成贤学院毕业设计报告23345释放总线释放总线客户端运算完毕之后单击释放总线按钮,就会把断开与服务器端的连接。GBCGRIDX4GBCGRIDY3GBCGRIDHEIGHT1GBCFILLGRIDBAGCONSTRAINTSHORIZONTALGBCWEIGHTX1GBCWEIGHTY0GBCINSETSNEWINSETS2,6,1,6OPENSETBACKGROUNDCOLORLIGHTGRAYGBLSETCONSTRAINTSOPEN,GBCOPENADDACTIONLISTENERTHISADDOPEN运行效果如下346查找对象查找对象在选择下拉框中的运算对象后,可以根据查找对象按钮来确定服务器端有没有此运算。东南大学成贤学院毕业设计报告24GBCGRIDX5GBCGRIDY3GBCGRIDHEIGHT1GBCFILLGRIDBAGCONSTRAINTSHORIZONTALGBCWEIGHTX1GBCWEIGHTY0G

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论