基于JAVA的分布式聊天系统设计.doc

上传人:b****1 文档编号:248510 上传时间:2022-10-07 格式:DOC 页数:22 大小:663KB
下载 相关 举报
基于JAVA的分布式聊天系统设计.doc_第1页
第1页 / 共22页
基于JAVA的分布式聊天系统设计.doc_第2页
第2页 / 共22页
基于JAVA的分布式聊天系统设计.doc_第3页
第3页 / 共22页
基于JAVA的分布式聊天系统设计.doc_第4页
第4页 / 共22页
基于JAVA的分布式聊天系统设计.doc_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

基于JAVA的分布式聊天系统设计.doc

《基于JAVA的分布式聊天系统设计.doc》由会员分享,可在线阅读,更多相关《基于JAVA的分布式聊天系统设计.doc(22页珍藏版)》请在冰豆网上搜索。

基于JAVA的分布式聊天系统设计.doc

********2011届本科毕业论文

毕业论文

题目:

基于JAVA的聊天系统设计

学生姓名:

***

学生学号:

079080617

系别:

********

专业:

********

届别:

2011

指导教师:

***

目录

前言 (3)

1概述 (3)

1.1开发背景 (4)

1.2JAVA语言简介 (4)

1.2.1JAVA语言的特点 (4)

1.2.2JAVA环境配置 (5)

1.3分布式简介 (7)

1.4JAVA语言在分布式系统的应用 (8)

2需求分析 (9)

2.1系统说明 (9)

2.2系统功能简介 (9)

2.2.1基本功能 (9)

2.2.2界面设计 (10)

3系统设计 (10)

3.1系统设计思想 (10)

3.2聊天系统的功能模块设计 (10)

3.2.1聊天系统工作原理图 (10)

3.2.2聊天系统功能图 (11)

3.2.3数据库设计 (12)

4详细设计 (12)

4.1开发环境工具 (12)

4.2详细代码及说明 (13)

4.2.1服务器程序设计 (13)

4.2.2客户端程序设计 (13)

5测试 (17)

6总结 (19)

6.1毕业设计总结与展望 (19)

6.2经验和感想 (20)

致谢 (20)

参考文献 (21)

基于JAVA的分布式聊天系统设计

学生:

**

指导老师:

***

*******************

摘要:

随着互联网的快速发展,网络聊天软件已经作为一种重要的信息交流工具,受到越来越多的网民的青睐。

目前,出现了很多非常不错的聊天工具,其中应用比较广泛的有Netmeeting、腾讯QQ、MSN-Messager等等。

本次设计的聊天系统就是模仿腾讯QQ来设计的。

该系统开发主要包括网络聊天服务器程序和网络聊天客户端程序两个方面。

前者通过Socket套接字建立服务器,服务器能读取、转发客户端发来的信息,并能刷新用户列表。

后者通过与服务器建立连接,来进行客户端与客户端的信息交流。

其中用到了局域网通信机制的原理,通过直接继承Thread类来建立多线程。

开发中利用了计算机网络编程的基本理论知识,如TCP/IP协议、客户端/服务器端架构(C/S)、网络编程的设计方法等。

在网络编程中对信息的读取、发送,是利用流来实现信息的交换,其中介绍了对实现一个系统的信息流的分析,包含了一些基本的软件工程的方法。

经过分析这些情况,该局域网聊天工具采用Eclipse为基本开发环境和JAVA语言进行编写,首先可在短时间内建立系统应用原型,然后,对初始原型系统进行不断修正和改进,直到形成可行系统。

关键字:

JAVA;分布式;局域网;Socket;C/S

DistributedJAVA-basedchatsystem

Student:

***

Supervisor:

****

*************************************

Abstract:

AlongwiththefastdevelopmentofInternet,thenetworkchatingtoolhasalreadybecomeonekindofimportantcommunicationtoolsandreceivedmoreandmorewebcamsfavor.Atpresent,manyextremelygoodchatingtoolshaveappeared.forexample,Netmeeting,QQ,MSN-Messagerandsoon.Thissystemdevelopmentmainlyincludestwoaspectsoftheserverprocedureofthenetworkchatandthecustomerprocedureofthenetworkchat.TheformerestablishestheserverthroughtheSocket,theservercanreadanddelivertheinformationwhichclientsidesends,andcanrenovatetheuserstabulation.Thelattermakeaconnectionwiththeserver,carriesoncommunicationbetweentheclientsideandtheclientside.WiththeLANcorrespondencemechanismprinciple,throughinherittingtheThreadkindtoestablishthemultithreadingdirectly.Inthedevelopment,itusestheelementarytheoryknowledgewhichthecomputernetworkprogrammes.forexample,TCP/IPagreement,Client/Serverpattern,networkprogrammingdesignmethodandsoon.Inthenetworkprogramming,itrealizesreadingandtransmissionoftheinformation,thatis,informatonflowsrealizetheinformationexchange,introduceinformationflowanalysisforrealizingasystem,inwhichcontainessomebasicsoftwareengineeringmethods.Afteranalyzesthesesituations,thisLANchatingtooltakesEclipseasthebasicdevelopmentenvironmentandcompilesinJAVAlanguage.first,itwillestablishthesystemapplicationprototypeinashorttime.then,fortheinitialprototypesystem,itneedsconstantlyrevisedandimproved,untilaviablesystem.

Keywords:

JAVA;distributed;lan;Socket;C/S

前言

网上流行的诸如QQ的即时聊天工具是我们所熟知的聊天系统,只要记得对方的号码,上网时可以呼他,无论他在哪里,都可以和他进行即时聊天。

这些软件系统大多都采用C/S工作模式,制作这些软件的公司在互联网上免费提供下载客户端程序,却不提供服务器程序。

所以对于未与互联网连接的私有网络,这些软件根本就用不上,更不会提供程序源代码。

为了弄懂这些软件的工作原理,所以我就开始着手本课题的研究。

分布式系统(distributedsystem)是建立在网络之上的软件系统。

正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。

因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。

内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。

透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。

在分布式数据库系统中,用户感觉不到数据是分布的,即用户不须知道关系是否分割、有无副本、数据存于哪个站点以及事务在哪个站点上执行等。

基于网络的软件系统大多都是分布式系统,只不过在系统的复杂程度上有所区别而已。

这次研究的聊天系统就是典型的分布式系统。

JAVA本身就是一种分布式语言。

JAVA语言支持Internet应用的开发,在基本的JAVA应用编程接口中有一个网络应用编程接口(JAVAnet),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。

JAVA的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

1概述

1.1开发背景

随着互联网逐步普及,人们的生活和工作也越来越离不开信息网络的支持,而聊天室是人们最常见,最直接的网上交流的方式。

本聊天系统以聊天交流为主,为广大用户提供一个借助网络进行人际交往的平台。

其主要特性是能动态、实时的完成信息的传递,且具有高效的交互性,更有效的处理客户请求,易于维护和更新。

1.2JAVA语言简介

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

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

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

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

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

JAVA的出现是计算机信息交换的一个重要里程碑。

在单机时代,程序进程之间靠共享存储进行变量交换;在网络时代,运行在不同宿主机上的程序按网络协议进行无格式的消息(二进制字符流)交换,消息的语义由交换程序双方维护;在JAVA时代,运行在网络上的程序进程交换的是小应用程序(Applet)。

它是一个对象,由一组属性和方法构成,是一个可执行的实体;不仅有数据的状态,而且有定义在数据上的操作。

未来可能进行代表(Agent)交换,代理有一定的智能性,那便是信息交换的更高级阶段。

1.2.1JAVA语言的特点

1.简单性

2.面向对象

JAVA语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。

对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。

3.分布性

JAVA是面向网络的语言。

通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便地访问其它对象。

4.鲁棒性

5.安全性

用于网络、分布环境下的JAVA必须要防止病毒的入侵。

JAVA不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用“特洛伊”木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。

6.体系结构中立

7.可移植性

8.解释执行

9.高性能

10.多线程

多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。

通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时

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

当前位置:首页 > 党团工作 > 党团建设

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

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