即时通讯系统(主要)
- 该系统使用.net core 8.0(服务端) + flutter(客户端)开发
- 使用websocket进行通信
- 使用mysql存储基本用户数据
- 使用mongodb存储消息记录
- 使用redis存储用户会话信息
- 使用jwt进行用户认证和授权
- 使用rabbitmq进行消息队列
- 使用nginx进行反向代理
Webscoket服务器
管理服务端
.net core 8.0开发
管理服务端---web端
vue3+ts+element-plus开发
protobuf
聊天应用中数据传输使用的protobuf数据格式
消息加解密
当前使用的并不是端对端加密,因为端对端加密在性能上会下降,再者这个项目用于内部使用,所以没有使用端对端加密。
客户端和服务端通过某种算法进行密匙交换,然后使用密匙进行消息加密和解密。