Java网络聊天室系统毕业论文

本文介绍了Java在网络聊天室系统中的应用,探讨了Java的特性如跨平台、面向对象、多线程以及其在C/S模型中的使用。通过TCP/IP协议和Socket技术,设计并实现了一个简洁高效的网络聊天室系统,使用Eclipse作为开发工具。文章还讨论了网络聊天室的商业潜力和未来发展趋势。
摘要由CSDN通过智能技术生成
Java网络聊天室系统的设计与实现

计算机从出现到现在有了飞速的发展,现阶段的计算机已经不单单是用于进行运算的独立的个体了,跟随计算机一同发展的还有互联网技术,经过了长久的发展,互联网技术有了日新月异的发展,它的发展速度和计算机的发展速度一样的恐怖,从出现一直到现在,它已经在人们的生活的各个方面发挥着自己的作用,而且是不可替代的作用。因为计算机发展到现在已经成为一种廉价的生活物品,可以预想到未来人们都会使用计算机,上网的人也会逐渐增多,会有不断的人完善和更新出更好更棒的互联网服务,来提高自己的生活水平。我国近几年经济和社会在不断的发展,互联网也得到了广大的支持,网络更是已经融入了广大人民的日常生活。在计算机编程方面,互联网软件开发逐步转向以java为首的面向对象的编程技术,传统的面向过程的编程技术已经逐渐退出了历史的舞台,java正以不可思议的速度发展。人们日常的生活,教育,网银,网购,面对面的网上视频,以及现在逐渐被大众接受的网络游戏都在使用面向对象的技术。而且java自身的优势以及特点能够真正减少了企业的开发成本和开发人员的开发时间和难度。

在以前,人们获取信息的方式十分单一,通过电视,广播,信件以及人们的口头相传,这种方式效率十分的底下,得到的信息也很局限。现阶段上网查找成为人们获取信息的主要途径,它具有快速,方便,以及传递的特点。所以人们对网上的即时面对面聊天产生了需要。一个界面清新,简单,并且高效的网络聊天室一定会受到大众的喜爱。为了这个目的,构建此聊天系统。

本文将介绍网络聊天室程序的设计与完成。

网络聊天室;Java;客户机/服务器;Socket;

Java chat room system design and implementation

Abstract: With the development of Internet technology, network technology is developing very fast in the area of computer technology, one of emerged from it until now, it in many aspects, such as politics, economy, life play an irreplaceable role. With the growing popularity of the computer and popularization, the future will be more and more people use the Internet, enjoy the constantly update and improve the network services, to improve the level of their work lives. With the development of our economy and the popularization of the Internet, the Internet technology is also used more in the daily life of people. In application development and process oriented programming technology is gradually replaced by object-oriented programming technology, the computer software design and development has become the dominant, especially in the development of network technology, the object-oriented Java language programming is development rapidly in explosive. Remote education, online banking, shopping online, video online, and online games are all using object-oriented Java technology. And Java portable features enable Java programs to be compiled into bytecode that is not relevant to the platform, which enables Java programs to run on machines with Java interpreters. It really reduces the development cost of the enterprise and the development time and difficulty of the developer.

In today's society, people's lives have long been inseparable from the Internet. In the future, the life and work of society will depend more on the development of digital technology, more and more networked, digital, electronic and virtualized. E-commerce is also becoming more and more relevant with the development of the Internet and people's life. The use of the development of the Internet and the current situation and development trend, can believe network technology step by step change our work and lifestyle, and social values will all change of step by step.

In today's rapid development of network, the query on the Internet become people to quickly get published, and transfer information important channel, it in many aspects, such as people, political economy, life play an important role. Traditional letter-writing methods do not satisfy people's immediate demand for information. Thus, can chat face to face on the Internet become important human needs, a popular chat tools should be: interface and pure and fresh, simple operation, humanity, saving system resources. For this purpose, build the chat system.

This paper completes the development of an online chat room program through Java's sockets. This article introduces the design and completion of network chat room program.

Key words: chat rooms; the Java; Client / Server;the Socket;

目  录

摘要......................................................... I

Abstract..................................................... II

目  录...................................................... III

1 引言........................................................ 1

2 网络聊天室的简介............................................. 2

2.1网络聊天室现状和发展............................................ 2

3 完成网络聊天室的技术以及环境.................................. 4

3.1 Java的介绍..................................................... 4

3.2 Java的特点..................................................... 4

3.3 TCP/IP协议的知识............................................... 5

3.4 Socket的介绍................................................... 6

3.5 开发工具....................................................... 6

4 网络聊天室系统的设计......................................... 7

4.1项目概述........................................................ 7

4.2 网络聊天室系统的设计........................................... 7

5 系统详细设计................................................ 8

5.1 服务器模块的设计............................................... 8

5.2 客户端模块的设计............................................... 8

6 系统测试.................................................... 9

6.1 单元测试....................................................... 9

6.2 系统测试....................................................... 9

7 总结....................................................... 10

参考文献..................................................... 11

致谢........................................................ 12

1 引 言

    随着社会的发展和互联网技术的发展,普通老百姓也能够拥有属于自己的计算机,在平常的生活中也离不开了网络技术的支持,而替代了电话和写信的网上即时聊天成为了人们十分常见的沟通方式。

    本软件是采用sun公司开发提供的java语言制作的,是基于C/S模型的网上聊天室。这个系统分为两个部分,服务端和客户端。服务端的工作主要是来监听和接收来自客户端的请求,然后处理客户端发来的消息,并通知客户端。而客户端的功能是能够让新用户注册,通过用户名密码登陆并且使用该系统。通过服务端和客户端的协同工作最终使用户能够使用网络聊天室,在聊天室中完成用户和用户之间的沟通。

2 网络聊天室简介

    当今社会,能够实现即时通讯的软件使用频率是十分恐怖的,网络聊天室作为它的一种,使用人数也是相当可观的。国内处于垄断的QQ,业界老大哥微软的MSN都是大众关注和使用的焦点,普通老百姓也能够拥有属于自己的计算机,在平常的生活中也离不开了网络技术的支持,它是人们的生活变得十分的便利和高效,你能在网上找到自己想要的信息和有共同兴趣爱好的朋友。而且,现在很多的软件还有多人聊天,电子会议等一系列功能。

2.1 网络聊天室现状和发展

网上即时聊天室是广泛使用的一种技术,它的简单方便的沟通方式能够被广大的网上用户所使用。在当今社会,网上聊天是互联网服务重要的一环,有大约43%的用户都会使用网上聊天,是排在第四位。但是有很多人认为网络聊天室就是一种用来娱乐和打发时间的方式,而缺少了实际的价值。就目前来说,能够完成收入的网络聊天室其实并不多。它应该怎么实现自己的商业价值外界并没有过多的关注。

现在,很多企业都会开发属于自己的聊天室,用户通过该网站注册的用户名以及密码登陆到企业的服务器上。在聊天室中,用户之间可以通过输入文字以及各种符号来表达自己的想法,来达到互相之间的沟通。目前,开发一个供用户使用的网络聊天室的技术门槛并不是很高,也不需要大量的资金,国家对于这方面的管制和政策也没有太限制,所以当今社会上聊天室的竞争其实是很激烈的,腾讯,网易,新浪都有属于自己的网络聊天室,但是用户的集中度并不是很好,各家大型网站的网络聊天室都会有自己的忠实用户,彼此之间还没有很明显的差别,各自有各自的优势。

根据某个组织调查公布的中国目前互联网发展报告,目前网络聊天室在商业方面不被看好主要有几点,一:喜爱在网上聊天的人大部分在17~23的年龄之间,他们还没有完全独立,经济上并不是很富裕。二:大部分的网络聊天室的付费内容其实并不多,而且不是强制性的。

    很多网站目前将收入目标定位已经参加工作收入较高的白领人士,而对于尚在学校以及初入社会的青少年并没有过多的注意。但是,就目前社会的发展情况来看,青少年的消费能力其实是十分可观的,他们并不想原先社会那样经济十分的拘谨,而是当今的父母都会尽量满足自己子女的需求,无论是经济上还是其他方面。所以,针对性的在网络聊天室加入一些青少年感兴趣的付费内容其实是十分必要的,它能够带来难以想象的收益。现在很多的商家对新型的广告形式并不是很了解,传统广告影响了它们在互联网领域的思考,另一个方面是网络聊天室自身的广告模式不当。就现阶段的情况来看,网络聊天室也要进行转变,不单单是提供即时聊天的服务,而是应该更加多元化,专业化的发展。一方面继续发展自己的优势,将即时聊天做的更加方便,快捷,能够满足不同年龄,不同职业,不同需求的用户。另一方面可以提供用户一些不同于聊天的其他服务,例如近几年十分火的线上课堂,能够让用户足不出户就能学习到不同专业方面的知识,这样的话,收取一部分的费用对于用户来说也是能够接受的。从这几方面来说网络聊天室的商业实力是十分恐怖的。

3网络聊天室的技术以及环境

3.1 Java的介绍

    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程[1]。

    Java具有简单性、面向对象、分布式健壮性安全性、平台独立与可移植性、多线程、动态性等特点[2]。Java可以编写桌面应用程序Web应用程序分布式系统嵌入式系统应用程序等[3]。

    java在推出时就是完全开源的,全世界的开发者都能够自定义许多自己的内容,没有什么局限性,就是这样一种特点,java的发展得到了迅速的提升。全球无数的开发人员都在不断完善着这一技术,你可以在各种技术的论坛上看到各种技术大神的分享,其中很大一部分都是十分实用的。现阶段,全球大部分的企业都会选择java作为开发语言,比如金融,银行等。从推出到现在,java已然成为一种十分成熟可靠的产品。

3.2 Java的特点

    1. 跨平台性
  java在设计的时候就被设计成一种不会受到计算机限制的语言,计算机的硬件以及操作系统等都不会影响到java软件的运行,这是许多软件开发人员和互联网企业追求的发展方向,为什么这么说,因为计算机的快速发展,世界上计算机的种类已经到了难以想象的地步,操作系统也是如此,如果一种语言只是针对某个特定的计算机以及操作系统的话,那么软件的适用性将是很低的,这对于互联网软件这种方便,高效的特点是十分违和的。软件是不能够完全依赖设备的。java自己的虚拟机很好的避免了这一限制,java源代码编译后产生的二进制文件并不是让计算机去运行的,这些二进制的字节码文件是能够被java自带的虚拟机识别出来的,说到底,java虚拟机提供了一个独特的运行环境,才能够让java在不同的环境下运行。这就是java有跨平台的特点。 

    2. 面向对象
  和传统的面向过程不同,java是一种面向对象的语言,所谓的面向对象就是一切的物体在java中都可以被描述成对象,对象会拥有属性和方法。一般来说对象的特点或者性质会被定义为属性,它用来描述对象。而对象的一系列行为会被定义为方法,比如说动物会跑会叫,这些都会被定义为方法,java可以通过操作对象的具体方法让对象完成不同的动作。java充分发挥了这种编程的思想,有很高的代码扩展和复用的特点。

    3. 安全性
  java中使用的都是完成的对象作为数据结构,这些对象的安全可以通过权限控制以及封装来完成。java的源代码在进行编译的时候都会经过java语言自身的规定的检查,保证了代码中的变量在编译完成后都能产生对应的具体的java类。在运行java的时候也会使用类加载器进行载入,并且还有有字节码的校验,只有通过了这些校验java虚拟机才会正确的运行程序,以上就是java的四种安全保证。在网络上的使用java也提供了权限控制的机制,能够保证网络上访问用户的安全。
  4. 多线程
  多线程的理念已经在很多地方有了实际的应用,最明显的就是操作系统方面,我们在操作电脑时能够同时打开不同的程序以及进程,这就是多线程的应用,它能够让一个运行程序中同时有多个线程,这种程序中多线程的理念能够处理并发以及多任务的处理。java中有内置的一些多线程技术以及还有很多事先准备好的类用来供用户使用和管理自定义的多线程。  

  1. 简单易用
      java的源代码能够使用各种不同的编辑软件来编辑,并不会需要特殊的环境。例如市面上的文本编辑器,记事本以及专业的IDE都能够用来编辑java源代码,只需要把编辑好的源代码编译一下,在使用jvm这种java的虚拟机运行就可以了。通过各种测试以及修改,就可以得到用户想要的程序了。

3.3 TCP/IP协议的知识

    TCP/IP说白了就是网络中的一种协议,协议是组成互联网的基础,它是由TCP(传输层)协议和IP(网络层)协议共同组成的。这个协议规定了电子器件如何接入互联网,以及它们之间数据的传输应该使用什么样的方式的一种标准。在协议中,上一层协议会调用对应的下一层协议来完成需求。换句话说,如果数据传输有问题,要通知机器重新传输的就是TCP协议负责的事情,直到要传输的数据能够成功的到达指定的机器上。而给互联网中每一个设备分配一个特殊的标识的就是IP协议的作用了。

3.4 Socket的介绍

java中被称为“套接字”就是socket通信技术[1],它能够描述一个计算机IP的地址以及端口。socket能够通过java程序向互联网发出请求和处理网络发过来的请求。在建立双方网络连接的时候会使用到socket套接字。当网络成功建立连接后双方都会有一个socket的实例被建立,通过使用和操作这个实例,就能够完成各种需求,对双方的连接来说,客户端和服务端并没有什么差别socket是平等的,它们都是通过socket的实现类和它的子类来完成的。

    Java socket通信开发原理:socket分为服务端和客户端两部分,服务端主要是可以监听一个特殊的端口,它能够监听并且捕获的向这个特定的端口发出的请求,这个请求就是由客户端来发起的。当连接建立之后会产生会话,完成会话之后关闭连接。而客户端主要是发起请求,它能够向某一个特定的服务器上的一个特殊的端口发起请求,然后建立连接处理会话,会话完成后和服务端一样关闭socket。客户端并不用像服务器一样规定一个特殊的打开的端口,系统会自动分配一个能够使用的端口。

3.5 开发工具

    我使用的是Eclipse作为开发工具,Eclipse开发平台是开源的可以基于java进行扩展的。就它本身来说,只是集合了各种服务和框架,用户可以添加各种各样的插件和组件来不断扩展。Eclipse不但是一个免费的软件,而且它还支持各种的java标准,这些特点能够极大的缩短开发的周期也让它成为了广大程序员最常用的开发工具之一。

Eclipse支持用户自定义工程,能够创建编辑文件,还能够完成编译,运行等一系列java的工作。使用Eclipse开发能够实现高效并且快速。主要特点如下:开放的,扩展性很好的IDE、强大的插件功能、成功的图形界面。

毕业设计下载地址:

基于java的聊天室系统毕业设计(项目报告+ 开题报告+答辩PPT+源代码+部署视频)
☞☞☞点击查看项目整体介绍 https://download.csdn.net/download/dwf1354046363/87813571

更有100多毕业设计项目供你挑选:

Java毕业设计174例,包含部署视频-CSDN博客文章浏览阅读3.5w次,点赞78次,收藏890次。基于Java的毕业设计,包含部署视频,一步一步教你加载数据库,运行,功能演示_java毕业设计https://blog.csdn.net/dwf1354046363/article/details/124463185

  • 21
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
JAVA程序设计 多人聊天室 设计目的 Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高 性能、多线程和静态的语言。本次课程设计旨在应用JAVA编程语言中的网络通信,多线 程,数据库编程,图形界面编程等技术实现一个基本的多人在线网络聊天室。并以此巩 固JAVA基础知识,体会面向对象的设计方法。 平台要求 1 使用: 搭载JAVA运行环境的平台即可。 2 开发环境: Windows10 64bit JDK Eclipse Window Builder 需求分析 管理员:启动服务器,关闭服务器,强制用户退出,聊天房间增添改查。 用户:GUI,注册,登陆,聊天等。 用例图: 概要设计 1 服务器设计 将客户端的请求抽象化,每种请求服务器都会产生一个特定的类的对象去处理它。服 务器负责接受客户端请求,根据请求内容完成指定工作。为提高效率,采用多线程结合 线程池设计技术,对于每个请求在线程池内得到一个线程去处理请求。如图3-1所示。 2 客户端设计 聊天室中一个事物的过程基本流程是:用户产生动作,客户端发送消息,服务器接收 并处理,服务器返回处理结果,GUI根据结果进行显示的更新。客户端只在GUI中采用多 线程设计。而对服务器回应的接受都是单线程的因为只有一个服务器为自己服务,且在 接收数据过程中连接是不可断开的。客户端的设计如图3- 2所示。一次事物流程中的步骤编号在图中给出。 图 4-2客户端概要图 详细设计 1 服务器详细设计 服务器要完成的任务是接受客户请求并在自己维护的数据结构上进行相应处理最终将 处理结果返回给客户端。具体涉及到多线程,数据库网络通信几项技术,同时为了实 时根据请求产生特定类的对象使用了反例技术。 1 总体概览 服务器端的入口类为ServerMain。聊天室服务器端代码可分为以下八个部分。除最后 两个部分外其他部分为串行执行。在接听后,创建的线程会并发处理客户请求。由于各 个处理并发的特点,使得服务器的响应不会应为某个而用户阻塞,提高了效率。 图 5-1聊天室服务器代码布局 服务器将用户操作抽象为不同的工作类,在接收到请求后根据消息协议在当前实现的 工作类名列表中找到类名(通过下标在CommandList类中的List<String> commandsList属性中得到),通过反例技术直接生成类的对象。各个类对象负责具体工 作,他们都继承ServerWorkClass。而ServerWorkClass继承自WorlClass因为客户端对服 务器的回复也应当有特定的类去处理它。目前实现的类有以下五种。当要添加新功能时 只需向commandsList属性静态添加索引。进一步,也可在以后加入新的机制实现动态添 加功能。 表 5-2工作类名及其工作内容 "类名 "服务器端动作 " "HouseRelative "处理用户的进入、离开房间请求" "Login "处理用户的上线、下线请求 " "Messages "处理用户的消息发送请求 " "UserDelAdd "处理用户注册请求 " "UserInfo "处理用户的用户信息查询设置请" " "求 " 服务器中涉及到的类图如下所示: 2 协议约定及实现 由于要考虑客户端的各个请求需要完成不同的操作,需要根据数据来内容来做特定的 工作,本聊天室将通信协议定义如下: userID:服务器通过此ID确定消息是由哪个用户发出的。 authorization code:服务器对用户身份进行认证的域,每次在接受用户请求后都会更新一个随机数, 并且将内容返回,而用户在请求服务器时必须使用最新的验证码否则不会得到服务器响 应。这防止了非法用户的不正当操作。 command:表示用户的请求类型其值为具体操作的工作类在commandsList中的下标, 服务器通过此下标找到类名产生类的对象。到这里为止的工作都是由一个CommandHandl er的类的对象来完成,它实现了Runnable接口,在Accepter类的对象接受到消息后产生 一个线程来执行对消息的下一步处理,其主要工作就是通过WorkingClassFactory使用反 例技术产生具体工作类,之后调用工作类的doJob()方法完成任务。 command2:一个具体工作类是对一类操作的抽象,如与房间相关的操作可能包括进房 间和出房间,而具体内容就是根据command2来标示的。从这里开始的工作已经进入到了 WorkingClass的代码区域。 result:是服务器向客户端告知请求是否正常完成的字段。 之后就是具体消息的定义区域。首先一个MessageAmount来表示消息个数,而之后每 条消息都有一个int域来表示其长度。为了支持中文,采用字符数组而不是字节数组。 服务器和客户端都将协议

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

易小侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值