Java 实现即时通讯

1901010113 bf82b4c8f3 更新 'Readme.MD' 4 gadi atpakaļ
.idea 0830cad90c chatroom 4 gadi atpakaļ
images 0830cad90c chatroom 4 gadi atpakaļ
src 0830cad90c chatroom 4 gadi atpakaļ
target 0830cad90c chatroom 4 gadi atpakaļ
Readme.MD bf82b4c8f3 更新 'Readme.MD' 4 gadi atpakaļ
pom.xml 0830cad90c chatroom 4 gadi atpakaļ

Readme.MD

2020-12-29 00:19:40 星期二


ChatRoom

『 环境 』

jdk:11.0

redis:2.8.9

maven工程

『 模式 』

仍延用SocektDemo的C/S模式

实现多个客户端之间的私聊,群聊,私发文件,群发文件

『 思路 』

把SocketDemo重新解构完善,实现多方通讯

具体思路如下图:

思路3

- 客户端,服务端分离

- 客户端通过Redis数据库实现注册 登录 修改密码

- 登录成功后连接服务端 发送消息 并接收服务器转发的消息

『 模块 』

  • bean

    存储实体类
    Info:通信的消息报文类,包括消息报文的类型、内容、发送者、接收者、文件。
    User:客户端实体,包含username,password,image,分别代表用户名,密码,头像。
    
  • Service

    存储业务类
    Starter:启动类包
    ---------Server:服务端启动类
    ---------Client:客户端启动类
    
  • Util

    工具类
    RedisUtils:用于与Redis远程服务器的操作,包括存用户名、密码等的缓存。
    SwingUtils:包含Swing组件需要的方法,包括图标比例自适应、等比例面板大小。
    ToolUtils:通用功能工具类,包括获取系统时间、获得文件后缀名、读写文件、获得用户头像等。
    

『 效果 』

服务器 客户端连接 上传文件