Java 实现即时通讯

1901010113 a4cba77920 更新 'Readme.MD' 4 gadi atpakaļ
.idea 0830cad90c chatroom 4 gadi atpakaļ
images 0830cad90c chatroom 4 gadi atpakaļ
src 9d5b1b97b4 Update Server.java 4 gadi atpakaļ
target 0830cad90c chatroom 4 gadi atpakaļ
Readme.MD a4cba77920 更新 'Readme.MD' 4 gadi atpakaļ
pom.xml 0830cad90c chatroom 4 gadi atpakaļ

Readme.MD

2020-12-30 18:05:40 星期三


202012G09


ChatRoom

『 环境 』

jdk:11.0

redis:2.8.9

maven工程

『 模式 』

采用C/S模式

实现多个客户端通过服务端进行私聊,广播,私发文件,广播文件

『 思路 』

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

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

具体思路如下图:

思路3

『 模块 』

  • bean

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

    存储业务类
    LoginFrame:登录界面,包含注册,登录,修改密码
    ProfileFrame:操作界面,包含连接服务器,私聊,广播
    
  • Starter

    存储启动类
    Server:服务端启动类
    Client:客户端启动类
    
  • Util

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

『 效果 』

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