基于JAVA的局域网聊天软件的设计与实现(仿制QQ)

Schoolleave

发布日期: 2018-11-06 09:45:15 浏览量: 2696
评分:
star star star star star star star star star star
*转载请注明来自write-bug.com

一、系统分析

1.1 问题描述

  • 客户端

    • 实现简易版的局域网聊天器
    • 实现富文本内容聊天
    • 智能聊天机器人
    • 群发消息
    • 传送文件等功能
  • 服务器端

    • 实现群发通知
    • 管理聊天线程

1.2 系统功能分析

  • 客户端功能

    • 登陆注册
    • 发送表情消息
    • 发送文本消息
    • 截取图片
    • 图片处理
    • 震动效果
    • 发送文件
    • 群发消息
    • 设置聊天文本样式
  • 服务器端

    • 广播通知

1.3 开发平台及工具介绍

  • Eclipse Mars2

二、系统设计

2.1 系统总体结构设计

系统采用自己设计的网络消息传输协议,系统采用CS架构模式实现数据传送。

2.2 系统各个类及类之间关系设计

注:

  • 界面一般是继承了JFrame或JWindow
  • JList、JTable所用的model和渲染器renderer都是自己重写的
  • 其余的一些比较琐碎的关系理起来比较复杂
  • 程序中的控件大多是自己自定义改写的

2.3 数据存储的设计(文件等)

  • 采用键值对的方式存储账号密码

  • 截图默认保存在ScreenCut/+文件名.jpg

  • 用到了多种流操作,以及网络传输最关键的套接字操作

2.4 界面设计

  • 自定义渲染和数据模型,实现JList、JTable的外交改变

  • 最长用的是在渲染器中继承JTable实现Renderer接口

三、系统实现

四、系统测试

模块测试与系统测试:

4.4 登陆测试

4.5 注册测试

4.6 表情测试

4.7 震动测试

震动效果无法截图!

4.8 截图测试

4.9 滤镜效果测试

4.10 设置测试

4.11 机器人聊天测试

4.12 文件传输测试

4.13 服务器管理界面测试

五、总结

通过这次的课程设计,可以说是开阔了自己的眼界,可以总结为以下几个方面:

  • 对JAVA体系的更深入的了解、对JAVA图像处理初步认识、对JAVA网络通信流的操作、流的套接更进一步深刻了解

  • 对网络通信的理解,CS、BS架构模式的了解

  • 对设计模式的初步认识与使用,线程管理这块单例模式的功能

  • 对JAVA的MVC模式的更深刻了解,层与层的分工明确,效率高,易管理,让人惊叹

  • 对线程的理解更深刻了,深谙UI主线程与处理耗时操作的子线程的逻辑处理关系

  • 对网络协议的初步了解,关于协议的定义了解,以及各种传送协议的效率比较有了大体。印象,Socket通信UDP和TCP通信机制初步了解

  • 对系统的架构设计有了初步认识,缓存机制,分布式系统等,虽然代码中还未实现,程序也并不是面向抽象编程和面向接口编程,代码低耦高聚效果一般,但仍然受益

知识方面,在课程设计的任务中主要负责jlist jtable覆盖重写、基础类的继承重写、接口实现、界面设计与美化等。玩了半个假期后很多学过的知识都记不清楚了,所以打码的过程中经常翻书,让我又重温了知识;一部分知识书上没有,还需要上网查询或者找同学帮忙解决。有很多瓶颈时候,但坚持过去,看到一起完成的作品会有很大的满足感;其他方面:经过这次课程设计任务,我又一次认识到了团队合作的力量和重要性。一起讨论问题:苦恼过,失落过,兴奋过,到最后的成就感,让我成长,也对自己有了很大的信心。

在这次课程设计,我们一起讨论要实现这个系统的哪些功能,把各自的想法说出来研究,我们还根据各自所学之长来分配工作,让我意识到在团队合作里每个人都能分享自己的想法、找到自己的位置发挥所长很重要,这样才能让我们更好地完成我们的工作。在完成我们的任务的过程中,我把每个功能逐步实现,比如在实现登录功能的时候,我会先把输入正确的账号和密码登录成功的功能实现,然后再实现判断输入的账号和密码是否一致,若不一致就返回重新输入账号密码这一功能,这让我在发现错误的时候更加容易找出并解决。在此过程虽然遇到许多困难,但是我都会去研究课本和课件里的例题或者上网去看教学视频,一步一步测试,自己实在无法解决了就去找同学帮助。

经过这次课程设计,我对Java有了更深的了解,但这还远远不够,为了未来的发展,我必须更加努力地去学习更广更深的知识。

上传的附件 cloud_download 基于JAVA实现的局域网聊天程序.7z ( 6.89mb, 388次下载 )
error_outline 下载需要12点积分

keyboard_arrow_left上一篇 : 基于Huffman哈夫曼编码的文件压缩与解压缩 基于Android Studio实现的2048游戏 : 下一篇keyboard_arrow_right



Schoolleave
2018-11-06 09:48:44
使用JAVA仿制QQ实现的聊天软件,支持表情、震动、截图、图片滤镜、智能聊天机器人以及文件传输等功能
爱馈赠
2019-06-23 22:00:12
好啦好啦,终于可以啦,万分感谢呀
逐鹿
2020-06-07 13:13:21
万分感谢,写的很棒
码农
2020-06-08 18:58:33
为啥我运行登录老是失败
tiandi
2020-06-28 19:08:57
十分感谢

发送私信

人生就像马拉松,获胜的关键不在于瞬间的爆发

8
文章数
20
评论数
最近文章
eject