1、届 别: 2011 指导教师: * 目 录前言(3)1 概述(3)1.1 开发背景(4)1.2 JAVA语言简介(4)1.2.1 JAVA语言的特点(4)1.2.2 JAVA环境配置(5)1.3 分布式简介(7)1.4 JAVA语言在分布式系统的应用(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 开发环境
2、工具(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来设计的。该系统开发主要包括网络聊天服务器程序和网络聊天客户端程序
3、两个方面。前者通过Socket套接字建立服务器,服务器能读取、转发客户端发来的信息,并能刷新用户列表。后者通过与服务器建立连接,来进行客户端与客户端的信息交流。其中用到了局域网通信机制的原理,通过直接继承Thread类来建立多线程。开发中利用了计算机网络编程的基本理论知识,如TCP/IP协议、客户端/服务器端架构(C/S)、网络编程的设计方法等。在网络编程中对信息的读取、发送,是利用流来实现信息的交换,其中介绍了对实现一个系统的信息流的分析,包含了一些基本的软件工程的方法。经过分析这些情况,该局域网聊天工具采用Eclipse为基本开发环境和JAVA语言进行编写,首先可在短时间内建立系统应用原型
4、,然后,对初始原型系统进行不断修正和改进,直到形成可行系统。关键字:JAVA;分布式;局域网; Socket;C/SDistributed JAVA-based chat systemStudent:Supervisor:*Abstract: Along with the fast development of Internet, the network chating tool has already become one kind of important communication tools and received more and more web cams favor. At p
5、resent, many extremely good chating tools have appeared . for example, Netmeeting, QQ, MSN-Messager and so on. This system development mainly includes two aspects of the server procedure of the network chat and the customer procedure of the network chat. The former establishes the server through the
6、 Socket, the server can read and deliver the information which client side sends, and can renovate the users tabulation. The latter make a connection with the server, carries on communication between the client side and the client side. With the LAN correspondence mechanism principle, through inheri
7、tting the Thread kind to establish the multithreading directly. In the development, it uses the elementary theory knowledge which the computer network programmes. for example, TCP/IP agreement, Client/Server pattern, network programming design method and so on. In the network programming, it realize
8、s reading and transmission of the information, that is,informaton flows realize the information exchange, introduce information flow analysis for realizing a system, in which containes some basic software engineering methods. After analyzes these situations, this LAN chating tool takes Eclipse as th
9、e basic development environment and compiles in JAVA language. first, it will establish the system application prototype in a short time. then, for the initial prototype system, it needs constantly revised and improved, until a viable system.Key words:JAVA; distributed; lan; Socket;C/S 前言网上流行的诸如QQ的即
10、时聊天工具是我们所熟知的聊天系统,只要记得对方的号码,上网时可以呼他,无论他在哪里,都可以和他进行即时聊天。这些软件系统大多都采用C/S工作模式,制作这些软件的公司在互联网上免费提供下载客户端程序,却不提供服务器程序。所以对于未与互联网连接的私有网络,这些软件根本就用不上,更不会提供程序源代码。为了弄懂这些软件的工作原理,所以我就开始着手本课题的研究。分布式系统(distributed system)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。内聚性是指每一个数据库分布
11、节点高度自治,有本地的数据库管理系统。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。在分布式数据库系统中,用户感觉不到数据是分布的,即用户不须知道关系是否分割、有无副本、数据存于哪个站点以及事务在哪个站点上执行等。基于网络的软件系统大多都是分布式系统,只不过在系统的复杂程度上有所区别而已。这次研究的聊天系统就是典型的分布式系统。JAVA本身就是一种分布式语言。JAVA语言支持Internet应用的开发,在基本的JAVA应用编程接口中有一个网络应用编程接口(JAVA net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、
12、ServerSocket等。JAVA的RMI(远程方法激活)机制也是开发分布式应用的重要手段。1 概述1.1 开发背景随着互联网逐步普及,人们的生活和工作也越来越离不开信息网络的支持, 而聊天室是人们最常见, 最直接的网上交流的方式。本聊天系统以聊天交流为主,为广大用户提供一个借助网络进行人际交往的平台。其主要特性是能动态、实时的完成信息的传递,且具有高效的交互性,更有效的处理客户请求,易于维护和更新。 1.2 JAVA语言简介JAVA是一个由Sun公司开发而成的新一代编程语言。使用它可在不同种机器、不同种操作平台的网络环境中开发软件。不论你使用的是哪一种WWW浏览器,哪一种计算机,哪一种操作
13、系统,只要WWW浏览器上面注明了“支持JAVA”,你就可以看到生动的主页。JAVA已经逐步成为Internet应用的主要开发语言。它彻底改变了应用软件的开发模式,带来了自PC机以来又一次技术革命,为迅速发展的信息世界增添了新的活力。JAVA的出现是计算机信息交换的一个重要里程碑。在单机时代,程序进程之间靠共享存储进行变量交换;在网络时代,运行在不同宿主机上的程序按网络协议进行无格式的消息(二进制字符流)交换,消息的语义由交换程序双方维护;在JAVA时代,运行在网络上的程序进程交换的是小应用程序(Applet)。它是一个对象,由一组属性和方法构成,是一个可执行的实体;不仅有数据的状态,而且有定义
14、在数据上的操作。未来可能进行代表(Agent)交换,代理有一定的智能性,那便是信息交换的更高级阶段。1.2.1 JAVA语言的特点1.简单性2.面向对象JAVA语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。3.分布性JAVA是面向网络的语言。通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便地访问其它对象。4.鲁棒性5.安全性用于网络、分布环境下的JAVA必须要防止病毒的入侵。JAVA不支持指针, 一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用 “特洛伊”木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易 产生的错误。6.体系结构中立7.可移植性8.解释执行9.高性能10.多线程多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1