计算机毕业设计之java版聊天室的设计

本聊天系统利用Java中 的socket网络编程和多线程技术实现。主要包括登陆连接、服务器管理、客户聊天三大功能。管理员和用户经过登陆界面分别进入到服务器端和客户端,客户通过socket连接服务器,服务器通过多线程技术转发信息到其他客户端。
聊天室程序通常需要完成以下一些基本功能:
1 管理员和用户登录聊天室的功能实现;
2 管理员启动服务器和开启服务器的功能实现;
3 管理员关闭服务器的功能实现;
4 用户之间的聊天的功能实现;
5 聊天信息保存的功能实现;
6 退出聊天室的功能与实现。
详细设计
服务器和管理员用例主要有:管理员启动服务器,管理员在服务器上查看当前在线人数,管理员在服务器上查看聊天记录,管理员在服务器上保存日志和聊天信息,管理员在服务器上剔除用户。

管理员在经过登录界面进入管理员界面,即系统的服务器端并启动服务器后。此时,如果有用户登录会在服务器端显示登录用户的用户名和当前连接的用户人数,如果有用户聊天,服务器会显示出聊天信息。管理员在管理界面中可以随时关闭服务器。此时,所有的客户端都将失去和服务器端的连接,从而,用户所有的聊天信息发送将不成功。

用户只需要在登录界面中注册正确的用户名和密码即可登录聊天室并且连接上服务器。在聊天室中,用户可以和聊天室中所有的用户发送信息,还可以接收所有用户发送的信息,可以查看到当前服务器的状态。如果用户已经登录了聊天室,而服务器还没有启动,则用户是不可以利用聊天室收发信息的。如果在运行过程中,服务器断开则系统会有提示

研究及设计目标
本系统针对用户的需求,建立了客户端,服务器端和数据库。主要解决一下问题:

  1. 服务器和客户端的界面尽量人性化。
  2. 服务器能够快速正常的启动,并且能够正确的连接上面向对象数据库,并且开启监听模式,时刻保持监听客户端接口。
  3. 客户端能够正确通过数据库和服务器端验证,发送的信息能够正确传输给所要传输的用户。
  4. 异常处理:对于用户的不正常操作和系统出现bug时,能够及时的通知管理员和用户。
  5. 数据库应该使用面向对象数据,这样便宜又能准确的进行数据校验。在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    目 录
    第一章 绪论
    1.1 系统研究的意义和来源.5
    1.2 研究现状.5
    1.3 研究及设计目标.5
    1.4 系统研发工具.6
    1.4.1 Eclipse
    1.4.2 面向对象数据数据库.6
    1.4.3 JFrame
    1.4.4 Socket.7
    1.4.5 多线程.7
    1.4.6 AppServer.8
    1.4.7 C/S .8
    1.5 系统开发环境.8
    1.5.1 硬件环境.8
    1.5.2 软件环境.9
    1.6 论文结构.9

第二章 系统分析
2.1 可行性分析10
2.1.1 技术可行性分析.10
2.1.2 经济可行性分析.10
2.1.3 操作可行性分析10
2.1.4 法律可行性分析10
2.2 需求分析11
2.2.1 系统的功能需求分析11
2.2.2 系统的服务器和管理员用例图12
2.2.3 系统的服务器和管理员用例图说明12
2.2.4 用户用例图14
2.2.5 用户用例图说明15
2.2.6 系统的类17
第三章 数据库设计
3.1 数据库分析设计19
3.1.1 数据库的功能分析 19
3.1.2 数据库设计19
3.2 数据库结构设计22
3.3数据库逻辑结构设计.23
第四章 系统的设计
4.1 系统的总体结构设计26
4.2 系统的功能模块和详细设计30
第五章 系统测试
5.1 软件测试 43
5.2 软件测试的目标及方法 43
5.3 系统测试名称和测试内容 43
5.4测试用例 44
5.5测试结果 46
5.6系统展望. .47
结 语 48
致 谢 49
参考文献 50

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,支持私,支持在线友查找,支持分屏显示,支持用户定制自己的私人头像,支持脏话过滤,支持嘉宾天。屏蔽掉自己讨厌的人物,可以给所有友发公共信息。具有速度快,高稳定性,占用系统资源少,用户界面友好等特点。 通过毕业设计,发现自己在理论研究和实际工作能力等方面都得到了提高,受益匪浅。同时在老师的指导和课题组同学的共同帮助下,及时总结研究成果,这些无疑会对我今后的工作和学习带来很大的帮助。 这是我的毕业设计毕业设计论文 还没有 写完 程序不是完全原创的根据 Happychat修改加强的 修改 超过50%
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值