通讯系统软件工程Word下载.docx

上传人:b****3 文档编号:18301901 上传时间:2022-12-15 格式:DOCX 页数:41 大小:1.16MB
下载 相关 举报
通讯系统软件工程Word下载.docx_第1页
第1页 / 共41页
通讯系统软件工程Word下载.docx_第2页
第2页 / 共41页
通讯系统软件工程Word下载.docx_第3页
第3页 / 共41页
通讯系统软件工程Word下载.docx_第4页
第4页 / 共41页
通讯系统软件工程Word下载.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

通讯系统软件工程Word下载.docx

《通讯系统软件工程Word下载.docx》由会员分享,可在线阅读,更多相关《通讯系统软件工程Word下载.docx(41页珍藏版)》请在冰豆网上搜索。

通讯系统软件工程Word下载.docx

实用程序包提供的支持包括哈希表、堆栈、可变数组、时间和日期等。

输入输出包用统一的"

流"

模型来实现所有格式的I/O,包括文件系统、网络、输入低级网络包用于实现Socket编程。

抽象图形用户接口包实现了不同平台的计算机的图形用户接口部件,包括窗口、菜单、滚动条、对话框等,使得JAVA可以移植到不同平台的机器,并且简化了用户/服务器模型的程序设计。

本论文提出一个局域网聊天软件的解决方案。

该聊天软件包括服务器端和客户端两个模块,客户端通过服务器端进行通信。

服务器端模块主要实现了服务器的配置和数据的传递以及日志的保存;

客户端模块主要实现了用户注册、登录、文字聊天、.txt文件的传送与接收功能。

该软件能够帮助企业在局域网内搭建起自己的聊天系统,避免企业内部员工使用类似QQ等软件泄露内部信息,同时为了提高员工的工作效率本系统舍弃与以往聊天软件相比下的娱乐功能,虽然乏味但却适用。

该软件只实现了聊天的基本功能,还有很多不足之处需要改进。

【关键词】因特网聊天室JAVA套接字 

ABSTRACT

In 

network 

rapid 

development 

today, 

the 

Internet 

become 

important 

channel 

for 

people 

to 

quickly 

get, 

publish 

and 

transfer 

information, 

it 

in 

politics, 

economy, 

life 

others 

aspects 

plays 

an 

role. 

There 

is 

lot 

of 

information 

on 

so 

exchange 

particularly 

important. 

People 

have 

been 

looking 

convenient, 

inexpensive 

communication 

tools, 

online 

chat 

will 

priority 

choice 

most 

people. 

This 

paper, 

by 

JAVA 

Socket 

realizes 

LAN 

room 

design 

realization 

based 

JAVA. 

server 

includes 

functions 

showing 

users, 

log 

management, 

sending 

system 

on.. 

The 

client 

login,registration,male 

chat,private 

transmit 

text 

files, 

other 

functions.

ThisarticleusesJAVAlanguage,thatownsvariousclasstomeetdifferentneedsofthenetwork,multithreading,object-orientedsystem.Languagepacksprovidestringprocessing,multithreadingprocessingandmathematicalprocessing.WecanuseittosimplyrealizetheoperationplatformforJavaprogram.Utilitypackageprovidessupportwhichincludeshashtable,stack,variablearray,thetimeanddate,etc.Inputandoutputpackagearebothbaseson‘flow’modeltorealizeallformatsofI/O,includingthefilesystem,network,inputlow-levelnetworkpacketwhichusedtoimplementtheSocketprogramming.Abstractgraphicuserinterfacepackageimplementsgraphicaluserinterfacecomponentsofcomputersindifferentplantform,includingwindows,menus,scrollbar,dialogs,etc.,whichenablesJavatotransplanttomachinesindifferentplantformsandsimplifiestheprogarmmingdesignofuser/servermodel.

InthisarticleIpresentasolutionto 

LANchatsoftware.Thissoftwareismadeupoftwomodules:

serverandclient.Theserveimplementscommunicatebyclient.Servemodulemainly 

realizestheserver'

sconfiguration,transmissionofthedataandthesaveofthelog.Theclientmodulemainlyrealizesuserregister,login,textchatandthesendandthereceiveofTXTfiles.

Thissoftwarecanhelpcompaniesbuilduptheirownchatsystemwithinthelocalareanetwork,avoidinginternalstaffleakinternalinformationbyusingsoftwarelikeQQandMSN.Meanwhile,comparedwithtraditionalchattingsoftware,thissoftwareabandonsentertainmentfunctioninordertoimprovetheworkefficiencyofemployees.Boringbutapplied.Thissoftwareonlyimplementssomebasicfunctionsofchatting, 

therearestillmanydeficienciesneedtoimprove.

Keywords:

Internet  chatrooms  java  socket

第1章绪论

1.1开发背景

根据当前网络的需求,网络聊天越来越受到各种网民所青睐。

因此开发网络聊天是相当有必要,而且在网站内增加聊天功能,它不仅可以提高网站的访问量,同时可以留着访客,更重要的是让访客透过聊天室实时的互相交流。

而本人也学习过JAVA语言,对网络编程也较有兴趣,为了更好的考验自己对JAVA语言的掌握程度,本人就决定以《基于JAVA的网络聊天室》为毕业设计,希望通过这一次能进一步提高本人的网络开发编程的能力。

1.2国内外发展状况

在国外,随着计算机网络日新月异的发展,人们的交流方式越来越多,传统的交流方式已经难以满足人们的交流的需求了,在互联网上即时的和好友取得联系,已经成为当今社会人们主流的联系方式。

同时,即时通信系统对现代企业也有着重大意义,它能实现快速人际交流、数据共享,从而提高效率和生产力。

实时通信为诸企业开拓了网络应用的新领域。

自从它诞生以来,以实时交互、资费低廉等优点,受到广大个人用户的喜爱,已经成为网络生活中不可或缺的一部分。

越来越多的企业已开始认识到即时通信工具能够带来极高的生产力,借助它的应用,来提高业务协同性及反馈的敏感度和快捷度。

因此,两台计算机之间进行即时通讯、发送文件等交流方式已经成为必然潮流。

因此出现了Skype、QQ、MSN等聊天工具,然而QQ、MSN等聊天工具虽然方便、实用,但是,娱乐功能太多,有很多吸引人的娱乐功能,从一定程度上来说,是一种娱乐工具,不能作为用于即时通讯的专用工具。

1.3系统设计目标

聊天系统主要关注两个方面,即服务器端和客户端。

下面分析这两个方面所要完成的任务如下。

1.服务器端的任务:

服务器端应当建立一个ServerSocket,并且不断进行侦听是否有客户端连接或者断开连接。

服务器端应当是一个信息发送中心,所有客户端的信息都传到服务器端,由服务器端根据要求分发信息。

以上就是服务器端最主要的两个任务。

不难看出,服务器端的任务并不复杂。

2.客户端的任务:

客户端应该完成的工作包括:

与服务器端建立通信通道,向服务器端发送信息;

接收来自服务器的信息。

相对服务器而言,客户端的任务更加简单,有了以上的简单分析,可以知道,解决上述四个问题,即完成了该聊天系统的核心。

客户端和服务器必须保持随时随地的连接。

这有别于普通Web浏览的连接方式,在使用浏览器访问服务器时,先由客户端发出HTTP协议,然后服务器响应处理这个客户端的响应,再返回处理结果,请求(Request)和响应(Response)是一种一对一的前后因果关系。

而在基于Socket的聊天系统中,客户端发出聊天信息的同时,客户端也在接受服务器发送过来的其他人的聊天信息。

因此,请求和响应不存在那种前后对应关系,是两种分别独立进行的进程。

因为服务器任何时候都可能发送信息到客户端。

因此,客户端和服务器一旦建立连接,必须能让服务器在以后发送中寻找定位到这个连接。

在速度性能方面,聊天系统提出了更高的要求。

在网络连接的薄弱环节I/O通信方面,要求能够实现无堵塞地、流畅地数据读写。

在面对几百个甚至更多的客户端同时发出连接信息的情况下,服务器要求能够保持高性能的并发处理机制,迅速地完成这几百个并发请求的处理和发送任务。

在扩展性和伸缩性方面,聊天系统也提出了一定的要求。

当一台服务器不能满足要求时,必须在客户端不知晓的情况下,通过不断增加服务器就能方便地拓展聊天系统的整体处理能力。

对于客户端用户来说,这些服务器群都象征一个统一的服务器,不需要他们在进入聊天室之前先选择具体的服务器,也没有单个聊天室最大人数的限制,如果可以,服务器群可以支撑一个巨大容量的聊天室。

1.4研究的意义

随着互联网逐步普及,人们的生活和工作也越来越离不开信息网络的支持,将会有越来越多的人利用网上资源,享受不断发展和完善的网络服务,以此来提高工作效率和水平。

随着我国经济发展和网络的普及,网络技术也越来越多地被应用于日常工作之中。

在程序设计领域,面向对象的编程技术正在逐步代替面向过程的程序设计技术,成为计算机应用设计开发的主流,尤其在网络技术开发中,面向对象的Java语言编程和相关的JAVA技术正在以前所未有的速度发展。

网上购物、网上银行、远程教学、网络聊天、网络游戏等都开始使用JAVA技术。

而且JAVA使平台无关性的思想成为现实,独立的JAVA程序可以被编译为与平台无关的字节码,这种字节码可以运行在任何拥有JAVA解释器的机器上。

真正降低了企业成品和程序员的负担。

对于人与人之间通过网络的沟通和交流,聊天室是人们最常见、最直接的交流的方式。

本聊天系统以聊天交流为主,为广大用户提供一个借助网络进行人际交往的平台,也是网络与现实最贴近的实用型应用。

本文所介绍的网络聊天系统是基于开放的JAVA应用程序开发设计的,其主要特性是能动态、实时的完成信息的传递,且具有高效的交互性,有效的处理客户请求且具有脱离数据库技术方法,易于维护和更新。

第2章系统开发所采用的技术

2.1JAVA技术

美国硅谷有一句行话,每10年~15年有一次轮回。

最近的一次轮回就是从Java开始。

JAVA是一个由Sun公司开发而成的新一代编程语言。

使用它可在各式各样不同种机器、不同种操作平台的网络环境中开发软件。

不论你使用的是哪一种WWW浏览器,哪一种计算机,哪一种操作系统,只要WWW浏览器上面注明了“支持JAVA”,你就可以看到生动的主页。

JAVA正在逐步成为Internet应用的主要开发语言。

它彻底改变了应用软件的开发模式,带来了自PC机以来又一次技术革命,为迅速发展的信息世界增添了新的活力。

JAVA语言有下面一些特点:

简单、面向对象、分布式、解释执行、安全体系结构中立、可移植、高性能、多线程以及动态性。

丰富的类库JAVA提供了大量的类以满足网络化、多线程、面向对象系统的需要。

抽象图形用户接口包实现了不同平台的计算机的图形用户接口部件,包括窗口、菜单、滚动条、对话框等,使得JAVA可以移植到不同平台的机器。

网络包支持Internet的TCP/IP协议,提供了与Internet的接口。

它支持URL连接,WWW的即时访问,并且简化了用户/服务器模型的程序设计。

JAVA和C、C++对于变量声明、参数传递、操作符、流控制等使用了相同的传统,使得熟悉C、C++的程序员能很方便地进行编程。

同时,JAVA为了实现其简单、鲁棒、安全等特性,也摒弃了C和C++中许多不合理的内容。

2.2JAVA语言在网络上的应用

JAVA程序可以获取网络上结点的图象、声音、HTML文档及文本等资源,并可以对获得的资源进行处理。

例如JAVA程序可以每隔一定时间读取某结点提供的最新数据,并以图表的形式显示出来。

在编程处理上,一般先生成一个URL类型的对象,然后用JAVA中相应的方法(method)获取该对象所代表的资源。

2.3TCP/IP协议常识

TCP/IP(TransmissionControlProtocol/InternetProtocol)是传输控制协议/网际协议的缩写,TCP/IP是当今网络互联的核心协议。

TCP/IP协议的体系结构共有四个层次,即应用层、传输层、网络互联层和网络接口层。

IP协议的作用:

第一,它是网络层的协议,提供互联网上数据传输的统一格式。

第二,提供不可靠的无连接的服务。

第三,定义了互联网上的传输数据的基本单元,提供了供路由选择的信息,没有差错校验和处理的机制。

TCP协议的功能:

差错控制——可靠性、面向连接、分段(Segment)、端口号。

TCP是传输控制协议,是面向连接的提供了一种可靠的传输服务,它用三次握手和滑动窗口机制来保证传输的可靠性,及进行流量控制。

应用程序为了传输数据会调用TCP,将数据和对应的参数传给TCP,将TCP数据包封装在IP包内,通过网络送给目的TCP。

接收方TCP在接收到数据后通知上层应用程序,TCP将保证接收数据的正确性。

在实现TCP的主机上,TCP可以被看成是一个模块,和文件系统区别不大,TCP也可以调用一些操作系统的功能,TCP不直接和网络打交道,控制网络的任务由专门的设备驱动模块完成。

TCP只是调用IP接口,向TCP提供所有TCP需要的服务。

2.4端口号

有的时候,一个IP地址不能完整的标识一台服务器,这是因为一台物理性的计算机同时运行着多个应用程序,这就需要我们来区别同一台机子上的不同的服务,所以就在传输层和应用层上设置接口,就是端口。

端口实际是一个16位长的地址,他的范围是0~65535之间,其中0~1023是熟知端口,主要是给提供服务的应用程序使用,这些端口是所有应用进程都知道的,1024~65535为一般端口,也称动态端口、连接端口,用来随时分配要求通信的个客户端应用程序。

在数据传输过程中,各种服务器不断的检测分配给他的端口,一边发现要求和他通信的客户端。

2.5Socket的简介

Socket,简称套接字,用于实现网络上客户和服务器之间的连接。

也就是说网络上两个或两个以上双工方式通信的进程之间总有一个连接,这个连接的端点成为套接字,套接字是在比较低的层次上通信的。

具体的说:

一个服务器应用程序一般侦听一个特定的端口等待客户端的连接请求,当一个连接请求到达时,客户端和服武器端建立一个通信连接,在连接过程中,客户端被分配一个本地端口与一个Socket建立连接,客户端通过写Socket来通知服务器,以读Socket中的信息,类似的服务器也获得一个本地端口,它需要一个新的端口号来侦听原始端口上的其他连接请求。

服务器也通过它的本地端口连接一个Socket,通过读写和客户端通信。

2.5.1Socket程序的工作过程

1.建立Socket连接:

在通信开始之前由通信双方确认身份,建立一条专用的虚拟连接道。

2.数据通信:

利用虚拟连接通道传送数据信息进行通信。

3.关闭:

通信结束时,再将所建的虚拟连接拆除。

具体如下如图2-1所示:

图2-1Socket程序的工作过程

2.5.2三次握手协议

第一次握手:

原主机发送一个带有本次连接的序号的请求的一个数据帧。

第二次握手:

目的主机收到请求后,如果同意连接,则发回一个带有一个本次连接序号和源端机连接序列号的确认。

第三此握手:

源端机收到含有两次初始序列号的应答后,再向目的主机发送一个带有两次连接的序列号的确认。

具体过程如下如图2-2所示:

图2-2三次握手协议

2.6Eclipse3.0开发环境

Eclipse是替代IBMVisualAgeforJava(以下简称IVJ)的下一代IDE开发环境,通过开发插件,它能扩展到任何语言的开发,甚至能成为图片绘制的工具。

Eclipse是一个开放源代码的项目,任何人都可以下载Eclipse的源代码,并且在此基础上开发自己的功能插件。

同时可以通过开发新的插件扩展现有插件的功能,比如在现有的Java开发环境中加入Tomcat服务器插件。

它可以无限扩展,而且有着统一的外观,操作和系统资源管理。

Eclipse有着非常丰富的插件资源,更新速度很快,功能很强大,界面友好,扩展性好,用户可以根据自己需要随心所欲的开发各种插件来扩展它,并且Eclipse是开源的免费软件。

本系统的开发就使用了插件:

Lomboz3.1.0、emf-sdo-runtime-2.0.0和org.objectweb.lomboz_3.0.1.N2005010

第3章局域网聊天系统的需求分析

对软件需求的深入理解是软件工作者获得成功的前提条件,只有真正满足用户需求的软件才是有用的软件。

系统需求分析将要回答的问题是用户需要什么样的系统,系统必须做些什么等问题。

只有锁定目标,才能更有效率,更正确的工作

3.1可行性分析

从技术、经济和操作三个方面对系统的可行性做出了分析。

确定了系统是否值得实现。

可行性分析是现代软件工程不可或缺的重要组成部分。

对问题的可行性做详细认真的可行性研究,可以避免很多不必要的浪费,确保用最小的代价在尽可能短的时间内确定问题是否能够解决。

3.1.1技术可行性

经过对系统需求的认真分析,综合各种计算机高级语言的特性和适应范围,最终决定选择纯面向对象的Java语言来完成我的毕业设计。

Java是SunMicrosystem公司的JamesGosling开发的编程语言。

Sun公司的口号就是"

网络就是计算机"

,Java能使所有东西从桌面计算平稳的转变为基于网络的计算,它是专门为此而建立的,并显然是为了完成这个任务而来的。

使用Java,我们可以相对轻松的编写一个有条理的网络程序。

下面就技术可行性方面,对Java语言作简要介绍。

Java是一种简单的、面向对象的、健壮的、安全的、解释的、与平台无关的、多线程、动态的计算机语言。

Java的开发环境有不同的版本,Sun公司相继的推出了J2ME、J2SE、J2EE三大平台,尤其是J2SE是Java2标准平台,广泛用于工作站、PC机,被称为“互联网上的世界语”。

这些为我们开发系统提供了强大的平台支持。

而且Java在互联网方面具有得天独厚的优势,也是最吸引我们的地方之一。

Java最初是为家用电器进行集成控制而设计的一种语言,因此它必须简单明了。

Java摒弃了C++中容易引发程序错误的一些特性,如指针、结构以及内存管理等。

Java提供了丰富的库类,可以帮助我们很方便的开发Java程序。

Java致力于检查程序在编译和运行时的错误。

Java也是一种强类型的语言,其类型检查比C++还要严格,类型检查帮助我们检查出许多开发早期出现的错误。

Java自己负责内存管理,提供了垃圾回收机制,有效的避免了C++中最头疼的内存泄露问题。

Java的安全性可以从两个方面得到保证。

一方面,在Java语言里删除了指针和释放内存等C++功能,避免了非法内存操作;

另一方面,通过Java的安全体系架构来确保Java代码的安全性。

Java作为一种网络语言,其源代码被编译成一种结构中立的中间文件格式。

只要有Java运行系统的机器都能执行这种中间代码。

Java源程序被编译成一种与机器无关的字节码格式,在Java虚拟机上运行。

Java语言的一个重要的特性就是在语言级别支持多线程的程序设计,使得在编写多线程程序时十分的简单。

JVM很好的管理多个线程同时运行过程中了资源共享问题。

Java的动态性是其面向对象设计方法的扩展。

它允许程序动态地装入运行过程中所需要的类。

Java编译器不是将对实例变量和成员函数的引用编译为数值引用,而是将符号引用信息在字节码中保存下来,传递给解释器,再由解释器在完成动态连接类后,将符号引用信息转换为数值偏移量。

这样,对类中的变量和方法进行更新时就不至于影响存的代码。

3.1.2经济可行性

在Java诞生之初,Sun

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1