gin+websocket+mongodb实现 IM 即时聊天系统
这个项目是基于WebSocket + MongoDB + MySQL + Redis。 业务逻辑很简单,只是两人的聊天。
MySQL
用来存储用户基本信息MongoDB
用来存放用户聊天信息Redis
用来存储处理过期信息
gin-chat-demo/
├── cache
├── conf
├── e
├── model
├── router
└── service
- cache : 放置redis配置
- conf : 放置配置文件
- e : 放置错误码
- model : 数据库模型
- router : 路由模块
- service :服务模块
- 两人通信
- 在线、不在线应答
- 查看历史聊天记录
- 下载依赖
go mod tidy
- 执行
go run main.go
- 测试http连接
- 进行ws连接,连接服务器
- 当id=1上线,但是id=2没上线的时候发送消息
- 当id=2上线之后
- 再次发消息,就是在线应答了
- 这边就实时接受到消息了
- 获取历史信息