聊天室说明文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java聊天室项目说明
开发者:陈明
指导老师:屈卫兰
时间:2014年11月~2014年12月
总览第一部分项目概况
1.项目说明
2.项目背景
第二部分项目计划
1. 项目目标
2. 用户范围
第三部分项目设计
1 需求分析
2 软件功能
3 概要设计
4 详细设计
第四部分项目总结
一、项目概况
1.项目说明
项目名称:Java聊天室系统。
用户:一般大众。
2、项目背景
Java选修课上,进行实训项目为开发一个聊天室。通过一段时间Java课程的学习,需要对所学的知识作一个综合的运用。由于Java强大的网络编程能力,需要、写一个简单的聊天室程序的项目,主要能实现在网络上的多线程间的通讯。项目的目的在于巩固前段时间所学的知识。
二、项目计划
1. 项目目标
(1)允许新用户注册,同时开设帐户;
(2)登陆后在用户列表框显示所有的用户姓名;
(3)允许用户进行在线群聊和私聊;
(4)把客户端的聊天界面能够进行基本的属性设置。
适用于一般大众。
三、项目设计
1.需求分析
简易的群聊,私聊工具。
2.软件功能
(1)允许新用户注册,同时开设帐户;
(2)登陆后在用户列表框显示所有的用户姓名;(3)允许用户进行在线群聊和私聊;
(4)把客户端的聊天界面能够进行基本的属性设置程序中主要用到的类
1、客户端
2、服务器端
3、界面的属性设置等
聊天室的程序主要需要建立两个程序:
一个服务器端,负责监听客户端发送过来的请求,一但监听到客户端的请求,先判断它是登陆信息还是聊天信息,若是登陆信息,那么允许客户端登陆,并把登陆的客户名返回给客户端显示在用户在线列表框内。如果是聊天信息,则把它群发给每个客户端。服务器端不对聊天的信息作群聊和私聊的判断,由客户端收到消息后判断是否是发给自己的信息,以及是否显示在聊天面板上面。
客户端的程序需要运用图形化编程做出一个界面。当输入用户名和密码登陆后,在用户列表框内会显示当前在线的所有的用户姓名并且在聊天面板上显示某用户进入了聊天室。
4 详细设计
1)登陆界面:
界面的图标为本人图像。且此界面的背景为动态图,按钮的基本功能均已经实现。
2)注册用户:
当基本信息填写完毕后,用户的信息会保存在服务器里面的Vector向量保存的数据库当中。因为本人的电脑有特殊原因,连接不上MySql数据库,所以本人在服务器当中自定义了数据库,并且能够实现保存用户信息的功能,防止重复注册等。基本实现与连接MySql数据库同样的功能。
比如,当重复注册时,即可提示。其他类似。
3)客户端聊天界面(含音乐播放器,所有用户,当前用户等,具有聊天功能)
聊天:可以群聊,私聊;
简易音乐播放器:具有暂停,播放,循环的功能。
背景:实际为动态背景
显示:当前用户,所有用户,各项其他功能按钮等4)发生文件界面:
5)留言界面:
发送:
接受:
6)更新用户资料:
7)属性设置:
四、项目总结
通过这次的 java聊天室实训,让我对Java编程有了更深一步的认识,特别是如何运用网络编程,多线程的知识实现多线程间的通讯,以及事件处理和图形用户界面相结合,还有流的用法以及异常捕获的用法。总体来说,对所学知识的综合运用是一个比较大的提高。也使我们对把书本上所的知识如何运用到实践当中去有了许多体会。
另外,再此次项目进行的过程当中,我的电脑中途被盗过,所有的项目、资料等都是重新开始的,给学习、工作、各项比赛等带来了很大的不便。在半个月的时间里,熬夜补了很多东西,参加的几个比赛最终也获得了较好的成绩,这个java项目最终也是在参考老师的文档的情况下,最终90%的独立完成了项目,添加了音乐播放器等,少部分有问过其他老师。虽然基于电脑的特殊原因没有连接到MySQl数据库,但是在服务器端用Vector 向量自定义了简易的数据库,而且最后把必要的功能都完善了,还是感到比较高兴的。
总的来说,一方面,以后再java方面还会继续深入地学习,因为我已经感受到了java 编程的趣味性、功能的强大性。同时,平时在学校、社会要好好保管好个人电脑、手机等易盗财务,对已经做过的项目进行及时的备份。最后,还得感谢老师的辛勤付出与谆谆教诲。