|
@@ -0,0 +1,67 @@
|
|
|
+`2020-12-29 00:19:40 星期二`
|
|
|
+
|
|
|
+------------
|
|
|
+### 该仓库共有三项目
|
|
|
+### [SocketDemo](http://39.108.133.138:3000/weiyong/202012G09/src/master) - 初版
|
|
|
+### [LinkChat](http://39.108.133.138:3000/weiyong/202012G09/src/linkchat) - 拓展
|
|
|
+### [ChatRoom](http://39.108.133.138:3000/weiyong/202012G09/src/chatroom) - 终版
|
|
|
+------------
|
|
|
+
|
|
|
+
|
|
|
+# ChatRoom
|
|
|
+
|
|
|
+## 『 环境 』
|
|
|
+
|
|
|
+#### jdk:11.0
|
|
|
+#### redis:2.8.9
|
|
|
+#### maven工程
|
|
|
+
|
|
|
+## 『 模式 』
|
|
|
+
|
|
|
+#### 仍延用SocektDemo的C/S模式
|
|
|
+#### 实现多个客户端之间的私聊,群聊,私发文件,群发文件
|
|
|
+
|
|
|
+## 『 思路 』
|
|
|
+
|
|
|
+#### 把SocketDemo重新解构完善,实现多方通讯
|
|
|
+
|
|
|
+
|
|
|
+> ##### 具体思路如下图:
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+#### - 客户端,服务端分离
|
|
|
+#### - 客户端通过Redis数据库实现注册 登录 修改密码
|
|
|
+#### - 登录成功后连接服务端 发送消息 并接收服务器转发的消息
|
|
|
+
|
|
|
+## 『 模块 』
|
|
|
+
|
|
|
+- ### bean
|
|
|
+ ##### 存储实体类
|
|
|
+
|
|
|
+ Info:通信的消息报文类,包括消息报文的类型、内容、发送者、接收者、文件。
|
|
|
+ User:客户端实体,包含username,password,image,分别代表用户名,密码,头像。
|
|
|
+
|
|
|
+- ### Service
|
|
|
+ ##### 存储业务类
|
|
|
+ Starter:启动类包
|
|
|
+ ---------Server:服务端启动类
|
|
|
+ ---------Client:客户端启动类
|
|
|
+
|
|
|
+
|
|
|
+- ### Util
|
|
|
+ ##### 工具类
|
|
|
+ RedisUtils:用于与Redis远程服务器的操作,包括存用户名、密码等的缓存。
|
|
|
+ SwingUtils:包含Swing组件需要的方法,包括图标比例自适应、等比例面板大小。
|
|
|
+ ToolUtils:通用功能工具类,包括获取系统时间、获得文件后缀名、读写文件、获得用户头像等。
|
|
|
+
|
|
|
+
|
|
|
+## 『 效果 』
|
|
|
+
|
|
|
+>
|
|
|
+>
|
|
|
+>
|
|
|
+
|
|
|
+
|
|
|
+<font color="grey"> 本项目部分代码参考了[ zpc/java swing实现聊天室 ](https://blog.csdn.net/weixin_43476969/article/details/107012791) </font>
|