摘要:计算机现在对我们的生活而言十分重要,不管是生活还是工作都需要用到计算机,可想而知,未来的人类会十分依赖计算机技术,用计算机上网的人毋庸置疑会越来越多,可想而知,不断会有人来改进和完善物联网技术,来提高自己的生活水平。就计算机的编程而言,互联网软件开发逐渐以Java为核心而全面发展,之前的编程技术已经慢慢满足不了我们的需求,java正在以恐怖的速度发展。人们日常所要面对的各种问题,如吃饭,娱乐,工作,休息还有现在大家所逐渐接受的网络游戏都在使用面向对象的技术。而且企业的开发成本和开发人员的开发时间和难度都因为java自身的优势以及特点而被减少了。
之前人们获取信息的方式是通过电视,广播,信件还有人们的口头相传,这种方式效率非常的底下,得到的信息非常的有限和模糊。现在上网已经变成了人们了解和获取信息的主要方式,上网具有方便快捷以及清楚的特点。所以人们现在十分的依赖互联网来传递信息。一个界面清新,简单,并且高效的网络聊天室一定会让人们十分青睐。为了这个目的,因此我决定构建此聊天系统。

The Design and Implementation of the Java Network Chat Room System

Abstract: Computer is very important for our life, both life or work need a computer, now the computer is not only a computer, Internet technology is also advancing with The Times, after a long development, Internet technology has undergone tremendous changes, the development of the Internet is very fast, from its role in all aspects of people’s life, and is an irreplaceable role. Because the development of computer has become a cheap life object, it can be imagined that the future mankind will be very rely on computer technology, there is no doubt that more and more people will use computer Internet, it can be imagined, someone will continue to improve and improve the Internet of Things technology, to improve their living standards. As far as computer programming is concerned, Internet software development is gradually developing with Java as the core. The previous programming technology has slowly failed to meet our needs, and java is developing at a terrible speed. Daily problems, such as eating, entertainment, work, rest and now gradually accepted online games are using object-oriented technology. And the development cost of enterprises and the development time and difficulty of developers have been reduced because of java’s own advantages and characteristics.
The way people got information was through TV, radio, letters and oral transmission from people, which was very efficient, and the information was very limited and vague. Now surfing the Internet has become the main way for people to understand and obtain information, surfing the Internet has convenient and fast and clear characteristics. So people are now very dependent on the Internet to deliver information. A fresh interface, simple, and efficient Internet chat room will make people very popular. For this purpose I therefore decided to build this chat system.

关键词:网络聊天室;Java;客户机/服务器;Socket;

1.绪论
1.1研究背景
随着社会与互联网技术目前的飞速发展,普通老百姓也基本上人人拥有一个可以上网的电子设备,平常的而生活也离不开网络技术,而网上即时聊天也已经成为了现在人们主要的人们的联系方式。
监听和接收来自客户端的请求是服务端的主要工作,处理客户端发过来的信息便是接下来的步骤,然后服务端再通知客户端。客户端便是用来让新用户注册的,使用该系统需要通过用户名和密码来登录。网络聊天室中用户可以交谈取决于客户端和服务端的共同相互工作。
1.2发展现状
当今社会,即时通讯的软件使用率是十分恐怖的,而使用网络聊天室的人也是十分多的。目前的国内大佬qq和微信是人们使用最多的软件,普通的老百姓在日常生活中也离开不了网络技术的支持,它让人们的生活变得十分的高效和快捷,网络上和你有很多一样的兴趣爱好的朋友,你都可以认识他们并且成为朋友,并且现在这些也包括多人会议,群组聊天等功能。在线即时通讯聊天室是一种应用广泛的技术,它简单方便的沟通方式为广大在线用户所用。 目前,在线聊天是互联网服务的重要一环,约43%的用户使用在线聊天,占第四位。 然而,许多人认为网络聊天室是一种娱乐和打发时间的手段,没有实际的价值。 目前,能够盈利的网络聊天室并不多。 至于它应该如何实现自身的商业价值,外界关注的并不多。有组织调查发布的中国当前互联网发展报告显示, 目前网络聊天室在商业方面评价不佳的主要有几个, 首先,喜欢上网聊天的人大部分年龄在17-23岁之间,他们还没有完全独立,经济上也不是很富裕。 第二:大多数网络聊天室的付费内容其实并不多,也不是强制性的。很多网站现在都把收入目标设定为工作相对较高的白领,但还在上学和刚步入社会的人却不太注意。 在这方面,网络聊天室的商业实力是非常可怕的。

1.3主要的内容

本文根据该软件的特性需求进行研究分析主要内容:首先介绍项目的开发的背景和研究的意义;二是介绍了对项目开发过程中所用到的相关技术的理论知识和环境的使用;三是根据业务的需要,对系统进行分析,从多个角度讲解开发的意思。四是根据需求分析内容,讲解开发功能,及实现的步骤。五是简要介绍了测试用例,让我们在顺利地完成程序的开发工作后,通过这些测试,快速有效地找出了系统存在的不足之处并及时对其进行改动和完善。

2.开发工具及相关技术介绍
2.1 开发工具
Eclipse是一个基于Java的、开放源码的、可扩展的应用开发平台,它为编程人员提供了一流的Java集成开发环境。
Eclipse只是一个框架和一组服务,通过添加各种插件来搭建开发环境的。
2.2 Java的介绍及背景
Java作为面向对象的开发开言,它不仅吸收了很多语言的各种优点,而且它的整个生态在所有语言中开放性是最好的,在学习上,可以找到很多类似的功能代码,供以后参考学习,像目前asp.net开发语言在很大程度上都在模仿java的思维,如果学会java编程,在去掌握另一门语言,学起来就非常的快,因为它的简单性、面向结构性,减少了代码管理的复杂度,让编程过程更加的清晰、逻辑解耦性也更加分层化。
2.3 TCP/IP协议的介绍
互联网进行通信时,需要相应的网络协议,TCP/IP 原本就是为使用互联网而开发制定的协议族。因此,互联网的协议就是 TCP/IP,TCP/IP 就是互联网的协议。
2.4 Socket的介绍
这是为了实现以上的通信过程而建立成来的通信管道,其真实的代表是客户端和服务器端的一个通信进程。

3.需求分析
3.1 可行性分析
作为软件前期开发过程中,需要对项目进行需求分析,首先要了解业务具体做什么,实现什么样的功能,在功能模块中细分每个功能模块的使用背景,只有这样在软件开发中,才不会重复出现因为架构设计的缺陷,导致在次设计底层数据结构的发生,此外,有些非功能的特细,比如数据库性能、安全性的考虑、网速的反映时间都是作为需求分析的约束条件,也是项目开发完成后,在运行时需要分析的目标。
在系统开发的过程中系统的可行性分析是必不可少的,可行性的研究就是评估问题是否能得到解决并且是要以最少的时间和最少的代价来解决。为实现上面的目标还要必须考虑到解决这些问题的方法的优点和缺点,还要考虑到实现了这些系统规模的开发带来的经济效益。这里可以用技术的可行性,操作的可行性,经济的可行性对我们的系统进行可行性的研究。
3.1.1技术性:本项目设计的系统主要采用c/s结构,通过文本的方式进行存储,根据自身所学专业,结合网上查阅案列及图书馆资料,开发实现是没有太大问题的。
3.1.2经济性:开发一套成熟的软件,都需要经过一段漫长的过程,这里设计到软件的需求分析、制定计划,开发人员、测试环节、调试过程,都需要资金及人力的投入。而这套软件的开发,可以通过网上开源源码及相关资料的学习,在硬件及电脑使用上,都是自己所用,所以在开发成本上可以忽略不计。
3.1.3操作性:本系统设计到的功能主要有登陆模块、注册模块、聊天室模块、以及发送消息模块,这些功能模块的相关知识,都是平常所设计到的常用功能,在操作上都是可以实现的。

3.2需求分析
通过了解用户的需求,可以知道操作简单的系统更易受到用户青睐,同时能够准确、完整的对信息进行管理。聊天室平台在对需求做相应的分析后,得出结论,系统主要由登陆注册模块、聊天室模块、以及发送消息模块。

3.2.1系统总体概述
该项目管理系统主要基于c/S设计模式,系统设计的功能有:登陆注册功能、聊天室模块功能、以及发送消息模块功能。其系统结构如图3-1所示:
3.2.2功能性需求
本系统是利用现代化的计算机网络技术将传统信息宣传方式整合,按照实践过程设计完成的。同时完善服务,初步设计一个聊天系统平台以利于相关的事务操作。为了使系统在各项管理中发挥更大的作用,实现计算机信息化高效的管理,现将开发目标功能需求介绍如下:
( 1) 用户注册模块
通过注册模块实现用户的在线注册,所填写的注册项目有:用户名、头像、密码、密码确认、性别、年龄和电子邮件。
( 2) 登陆管理模块
用户进到登入界面,需填写登入用户名和密码才能实现系统的登入操作。
( 3) 聊天通讯模块
用户通过选择在线用户列表的其他用户,可以选择要聊天的人,实现和选中的用户进行私聊方式进行交流,其他用户不可见。
( 4) 数据存储模块
用户登陆、注册、及聊天记录都存储在指定的文件夹中的文本中。

3.3用例图
用例建模的主要内容包括用例图和用例规约。用例图是用来对系统的功能做出简单的描述,用例规约是用来对用例图中的每个用例进行详细的文本说明。
聊天室管理系统主要满足用户与用户之间的通讯,实现数据的交互。
4.系统设计
4.1流程图设计
聊天室系统工作流程为: 用户通过已注册的账号和密码,进入聊天室系统,即可发送消息。以下是总体的流程图设计如图3-2:
4.2系统ER图设计
用户可以查看服务器当前的状态比如在线人数、当前服务器是否启动、访问的日志情况、服务器打开的端口、服务器名称,用户在聊天室可以指定人员进行发送消息,也可以在聊天室查看在线人数、人员列表。
4.3数据表的设计
用户表(user_name):用户账号、用户密码、性别、邮箱、用户年龄
表 4-1用户信息表
编号 字段名称 字段描述 说明 Not Null
1 lblUserName 账号
2 lblPassword 密码
3 lblEmail 邮箱
4 lblGender 性别
5 lblAge 年龄

表 4-2聊天室信息表
编号 字段名称 字段描述 说明 Not Null
1 lblUserName 在线用户列表
2 lblPassword 在线人数
3 lblEmail 聊天内容
4 lblGender 发送人
聊天信息

表 4-3服务器信息表
编号 字段名称 字段描述 说明 Not Null
1 lblUserName 当前状态
2 lblPassword 在线人数
3 lblEmail 服务器名称
4 lblGender 访问协议
5 服务器端口

5系统功能模块实现
本次系统采用 java 编程利用socket 架构来进行开发系统程序的应用,系统中所有与程序密切相关的事情和操作都时间上通过一个与数据相关的类文件来进行实现,很大程度上增强了代码的耦合度。
5.1用户登陆功能页面
当你注册完以后,就可以进行登陆了,输入你以及刚注册的用户名和密码,就可以登陆进去了,如图5-1

5.2用户注册功能页面
首先你进入聊天室需要自己的账户,没有的话就需要注册一个 用户名和头像都可以自己选择 年龄的话必须输入阿拉伯数字才会成功,如果格式错误也会提示你错误
而电子邮件也一样,需要有@符号才会成功 如图5-2

部分组要代码如下:
//读来自服务器socket的登陆状态
BufferedReader fromServer=new BufferedReader(new InputStreamReader(toServer.getInputStream()));
String status=fromServer.readLine();
//显示成功消息
JOptionPane op=new JOptionPane();
op.showMessageDialog(null,status);
if(status.equals(data.custName+“注册成功”))
{
txtUserName.setText("");
pwdUserPassword.setText("");
pwdConfirmPass.setText("");
txtAge.setText("");
txtEmail.setText("");
}
5.3聊天室界面
当你登录进去以后,就会显示聊天室的整个界面,右上角会显示你的名字也就是用户名,这个界面中有清空聊天界面 还有也可以选择信息对谁发送,发送过了之后,聊天记录上面就会显示相关信息

基于Java聊天室的socket设计和实现(论文+程序设计源码+数据库文件):点击下载全部内容》》》

Java网络聊天室系统的设计与实现相关推荐

  1. 【完整代码及文档】基于Java的网络聊天室系统的设计与实现

    摘 要 计算机从出现到现在有了飞速的发展,现阶段的计算机已经不单单是用于进行运算的独立的个体了,跟随计算机一同发展的还有互联网技术,经过了长久的发展,互联网技术有了日新月异的发展,它的发展速度和计算机 ...

  2. 【毕业设计】Java局域网聊天室系统的设计与实现

    点击免费下载源码 视频聊天系统作为一种新型的通信和交流工具,突破了地域的限制,可以提供更为便捷.灵活.全面的音.视频信息的传递和服务,具有极其广泛的发展前景. 介绍了采用JAVA编程开发视频聊天系统的 ...

  3. 【毕业设计之PHP系列】基于PHP的网络聊天室系统

    基于PHP的网络聊天室系统 摘要:我们生活在一个通信变得非常重要的世界里,人们需要同他人快速容易的进行交流.E-mail.电话.邮件以及在线聊天是以书写文字的形式让人们进行思想交流的媒体.通信时一个重 ...

  4. 聊天系统设计与实现服务器代码,网络聊天工具系统的设计与实现.doc

    PAGE 综合课程设计报告 网络聊天工具系统的设计与实现 学生姓名: 指导教师: 所 在 系: 电 子 信 息 系 所学专业: 计算机科学与技术 年 级: PAGE 1 1 目 录 TOC \o &q ...

  5. Java网络聊天室---个人博客

    Java网络聊天室 ---个人博客 一.项目简介 功能描述: 使用图形用户界面和socket通信,能实现一个聊天室中多人聊天,可以两人私聊,可以发送文件. 实现类似QQ用户注册.登录.聊天等功能. 参 ...

  6. php聊天室的设计实现,基于PHP的Ajax聊天室系统的设计与实现

    第7卷 第20期 2007年10月167121819(2007)2025396204 科 学 技 术 与 工 程 Science Technol ogy and Engineering Vol .7 ...

  7. c语言课程设计 聊天室,网络聊天室C课程设计

    网络聊天室C课程设计 网络聊天室C课程设计 using System.Reflection; using System.Runtime.CompilerServices; [assembly: Ass ...

  8. 基于Java的聊天室系统

    一 需求分析 编写一个小型Java聊天室系统,掌握Java网络通信.多线程.IO文件操作等高级应用编程技能. 完成如下功能: 多客户端模式下,实现客户与客户的单独通信,要求信息通过服务器中转; 端到端 ...

  9. 聊天室系统测试用例设计及报告

    一.测试用例设计 1.注册功能 题目:用户注册 前提条件:已经存在三个用户,用户名分别为a,b,c,密码都为123,昵称分别为刘欢,王琦和小芳 需求:用户名和密码是必填项,昵称和用户名可以是数字.字母 ...

  10. 小浩的JAVA网络聊天室

    案例:在线聊天室 需求:使用TCP的Socket实现一个聊天室 服务器端:一个线程专门发送消息,一个线程专门接收消息 客户端:一个线程专门发送消息,一个线程专门接收消息 实现:具有 注册 登录 功能的 ...

最新文章

  1. 转】windows下使用批处理脚本实现多个版本的JDK切换
  2. c语言 10以内加法,求助 给小学生出题,自己选加减乘除 做10题 10以内的数 然后统计分...
  3. java小编程--二分查找和插入排序
  4. php java 共享session_PHP 实现多服务器共享 SESSION 数据
  5. 50种Java编程技巧,越早知道越好!(建议收藏)
  6. python基础语法快速浏览
  7. 【es】使用ElasticSearch的44条建议 性能优化
  8. ASP.NET DEMO 18: 如何编程动态创建 Menu
  9. if else if与if if语句的区别
  10. opencms mysql_[转]OpenCms for MySql 安装图解
  11. matlab直方图均衡化函数
  12. 全国区号省份mysql_中国各个省份的区号
  13. 传智博客JAVA基础第二十三天
  14. 弘辽科技:拼多多top店铺是什么意思?怎么运营?
  15. 《当程序员的那些狗日日子》(四十八)No money no talk
  16. C# 进行 Starlink 仿真03:72轨道面 * 22颗卫星 F相位因子==11 的Walker星座,创建3168条星间链路,并与 icarus 论文的Python结果相对比。
  17. Unity 截取3D图像 与 画中画PIP的实现
  18. 测试apk-异常管控Bluetooth攻击者开发
  19. 河北钢铁的数字化雄心
  20. java解压报错java.io.IOException: failed to skip current tar entry

热门文章

  1. 2019年五一赛赛后总结
  2. Realtek RTL87xx 学习资源
  3. 轻松学网络设备之思科交换机搭建虚拟局域网
  4. ccs8烧写与擦除dsp2812FLASH的方法
  5. HAWQ技术解析(八) —— 大表分区
  6. Postman测试导出导入Excel教程
  7. 艾肯4nano声卡调试教程,效果演示
  8. 计算机管理如何格式化u盘,u盘无法格式化?0字节?教你5种方法格式化u盘,超简单!...
  9. android QQ好友分享
  10. 办公软件excel表格_EXCEL表格模板下载推荐?办公资源网优质海量素材资源免费下载...