高仿版微信!一套强大的开源即时通讯工具

科技   2024-10-31 21:30   山西  

简介

盒子IM是一个仿微信的聊天工具。后端采用springboot+netty实现,web端使用vue,移动端使用uniapp,支持私聊、群聊、离线消息、发送图片、文件、语音、emoji表情、视频聊天等功能。

##项目结构

消息推送方案

  • 当消息的发送者和接收者连的不是同一个server时,消息是无法直接推送的,所以我们需要设计出能够支持跨节点推送的方案
  • 利用了redis的list数据实现消息推送,其中key为im:unread:${serverid},每个key的数据可以看做一个queue,每个im-server根据自身的id只消费属于自己的queue
  • redis记录了每个用户的websocket连接的是哪个im-server,当用户发送消息时,im-platform将根据所连接的im-server的id,决定将消息推向哪个queue

效果预览

si私聊
群聊
群通话
好友列表
群列表

学习资料、内推共享群欢迎加入

1、4000G架构师全栈资料(点击查看)
2、
99个实战项目点击查看
3、
5000页互联网大厂面试题整理汇总(点击查看)

老炮说Java
十年老炮程序员带你玩技术
 最新文章