openchat 架构图 功能列表 支持多种协议,tcp,websocket 支持多类型终端,且可同时在线,且消息同步推送 支持服务器的横向拓展,集群化部署,以满足不同并发场景 面向开发者的聊天工具,代码的编写预览等功能,方便代码的分享,阅读 支持文本文字,文件,图片分享 基于SSL/TLS加密传输数据 所用技术&中间件 openjdk 15 netty 4.1.x spring boot 2.3.x webflux redis rabbitmq 3.19.x redisson mongodb javafx spring data reactive protobuf3 模块 openchat rest 基于spring webflux的restful接口 提供基于http协议的通信,主要用于登录获取token,拉取消息服务器ip 拉取好友关系 拉取消息列表 openchat server 基于netty实现,服务器注册到redis,mongodb存储消息,rabbitmq进行消息推送 提供在线实时聊天功能 消息的离线存储 支持横向扩展 openchat client 基于javafx实现的跨pc端客户端 双向证书认证 登录 聊天 openchat core 基于protobuf3的序列化协议 通用的工具,实体类 TODO 注册 加好友 群聊 消息已读 服务器注册 图片 代码 Done 服务端的横向扩展能力 在线消息的实时推送存储 离线消息存储 掉线重连 支持emoji 录屏