Java聊天室程序源
2 需求分析
2.1 业务需求
1. 与聊天室成员一起聊天。
2. 可以与聊天室成员私聊。
3. 可以改变聊天内容风格。
4. 用户注册(含头像)、登录。
5. 服务器监控聊天内容。
6. 服务器过滤非法内容。
7. 服务器发送通知。
8. 服务器踢人。
9. 保存服务器日志。
10.保存用户聊天信息。
2.2 系统功能模块
2.2.1 服务器端
1.处理用户注册
2.处理用户登录
3.处理用户发送信息
4.处理用户得到信息
5.处理用户退出
2.2.2 客户端
1.用户注册界面及结果
2.用户登录界面及结果
3.用户发送信息界面及结果
4.用户得到信息界面及结果
5.用户退出界面及结果
2.3 性能需求
运行环境:Windows 9x、2000、xp、2003,Linux
必要环境:JDK 1.5 以上
硬件环境:CPU 400MHz以上,内存64MB以上
3.1.2 客户端结构
ChatClient.java 为客户端程序启动类,负责客户端的启动和退出。
Login.java 为客户端程序登录界面,负责用户帐号信息的验证与反馈。
Register.java 为客户端程序注册界面,负责用户帐号信息的注册验证与反馈。
ChatRoom.java 为客户端程序聊天室主界面,负责接收、发送聊天内容与服务器端的Connection.java 亲密合作。
Windowclose 为ChatRoom.java的内部类,负责监听聊天室界面的操作,当用户退出时返回给服务器信息。
Clock.java 为客户端程序的一个小程序,实现的一个石英钟功能。
3. 2 系统实现原理
当用户聊天时,将当前用户名、聊天对象、聊天内容、聊天语气和是否私聊进行封装,然后与服务器建立Socket连接,再用对象输出流包装Socket的输出流将聊天信息对象发送给服务器端
当用户发送聊天信息时,服务端将会收到客户端用Socket传输过来的聊天信息对象,然后将其强制转换为Chat对象,并将本次用户的聊天信息对象添加到聊天对象集Message中,以供所有聊天用户访问。
接收用户的聊天信息是由多线程技术实现的,因为客户端必须时时关注更新服务器上是否有最新消息,在本程序中设定的是3秒刷新服务器一次,如果间隔时间太短将会增加客户端与服务器端的通信负担,而间隔时间长就会让人感觉没有时效性,所以经过权衡后认为3秒最佳,因为每个用户都不可能在3秒内连续发送信息。
当每次用户接收到聊天信息后将会开始分析聊天信息然后将适合自己的信息人性化地显示在聊天信息界面上。
4.1.1 问题陈述
1.接受用户注册信息并保存在一个基于文件的对象型数据库。
2.能够允许注册过的用户登陆聊天界面并可以聊天。
3.能够接受私聊信息并发送给特定的用户。
4.服务器运行在自定义的端口上#1001。
5.服务器监控用户列表和用户聊天信息(私聊除外)。
6.服务器踢人,发送通知。
7.服务器保存日志。
结束语
本文讨论了如何利用java技术开发聊天室系统,基本满足了结构化、界面友好、速度快、安全性以及稳定性等特点。
系统着重研究并实现了网络应用的部分。根据实现的情况看,具有较友好的聊天界面生成效果,以及流畅的网络通信效果。生成的聊天室可以达到基本的聊天要求,具有较高的研究价值。
系统具有目前聊天室的基本功能:包括支持多种头像,字色,语气选择,支持emote,支持私聊,支持在线聊友查找,支持分屏显示,支持用户定制自己的私人头像,支持脏话过滤,支持嘉宾聊天。屏蔽掉自己讨厌的人物,可以给所有聊友发公共信息。具有速度快,高稳定性,占用系统资源少,用户界面友好等特点。
通过毕业设计,发现自己在理论研究和实际工作能力等方面都得到了提高,受益匪浅。同时在老师的指导和课题组同学的共同帮助下,及时总结研究成果,这些无疑会对我今后的工作和学习带来很大的帮助。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
基于java的聊天室程序(java).zip (247个子文件)
client.bat 15B
server.bat 14B
ChatRoom.class 12KB
ServerFrame.class 9KB
Register.class 7KB
ServerFrame.class 7KB
Login.class 6KB
Connection.class 5KB
Connection.class 4KB
Clock.class 4KB
ChatRoom.class 3KB
AppServer.class 2KB
WordFilter.class 2KB
AppServer.class 2KB
Register.class 2KB
Login.class 2KB
Clock.class 1KB
Register$1.class 1KB
ChatRoom$Windowclose.class 814B
ChatRoom$6.class 672B
ChatRoom$7.class 672B
ChatRoom$5.class 672B
ChatRoom$4.class 660B
ChatRoom$3.class 660B
ChatRoom$2.class 660B
ChatRoom$1.class 660B
ServerFrame$3.class 630B
ServerFrame$1.class 628B
ServerFrame$2.class 624B
ServerFrame$4.class 622B
Clock$1.class 597B
Register_Customer.class 490B
ChatRoom$Windowclose.class 469B
Clock$1.class 463B
Message.class 453B
Chat.class 450B
Customer.class 423B
ChatClient.class 403B
Exit.class 369B
Register_Customer.class 335B
Chat.class 320B
ChatClient.class 297B
Customer.class 282B
Message.class 275B
Exit.class 256B
Exit1.class 256B
.classpath 226B
stylesheet.css 1KB
stylesheet.css 1KB
Thumbs.db 259KB
Thumbs.db 25KB
Thumbs.db 25KB
Thumbs.db 23KB
Thumbs.db 23KB
serverip.gif 37KB
serverip.gif 37KB
login.gif 27KB
login.gif 27KB
inherit.gif 57B
inherit.gif 57B
serialized-form.html 79KB
serialized-form.html 79KB
ServerFrame.html 42KB
Register.html 35KB
ChatRoom.html 35KB
Clock.html 32KB
Login.html 31KB
ServerFrame.html 27KB
Connection.html 22KB
Clock.html 21KB
Login.html 21KB
Register.html 20KB
HeadJFrameTest.html 19KB
Connection.html 16KB
ChatRoom.html 15KB
AppServer.html 15KB
HeadFile.html 13KB
AppServer.html 13KB
WordFilter.html 13KB
index-9.html 13KB
index-15.html 12KB
Register_Customer.html 12KB
Chat.html 12KB
WordFilter.html 12KB
Register_Customer.html 12KB
index-3.html 12KB
Chat.html 11KB
Message.html 11KB
constant-values.html 11KB
Customer.html 11KB
Message.html 11KB
index-16.html 11KB
Customer.html 10KB
ChatRoom.Windowclose.html 10KB
index-2.html 10KB
Exit.html 10KB
Exit.html 9KB
index-2.html 9KB
ChatClient.html 9KB
ChatClient.html 9KB
共 247 条
- 1
- 2
- 3
资源评论
CrMylive.
- 粉丝: 1w+
- 资源: 4万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- DirectiveError解决办法.md
- 肝脏及其肿瘤分割的 CT 数据集,已经切片成jpg数据,约2w张数据和mask
- 基于OpenCV和C的文档扫描仪++
- 2024年全球芯片设计行业市场发展现状和前景预测报告
- frida拦截微信小程序云托管API
- 手写流程图检测31-YOLO(v5至v8)、COCO、CreateML、Darknet、Paligemma、TFRecord数据集合集.rar
- Python编程一级基础练习(含答案)
- awewq1132323
- 2024年全球螺栓行业市场发展现状和前景预测报告
- 基于python flask实现某瓣数据可视化数据分析平台
- 手势检测7-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar
- 2024年全球电磁兼容材料行业市场发展现状和前景预测报告
- 中式汉堡市场调研报告:2023年市场规模约为1890亿元
- 2021年中国便民缴费产业报告.zip
- CentOS bridge 工具包 bridge-utils-1.6-1.33.x86-64.rpm
- 数据库应用技术考试方案-A卷-图书馆管理系统的数据库操作-可实现-有问题联系博主
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功