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

简介

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

项目结构

模块功能
im-platform业务平台服务,负责处理来自用户的业务请求(http)
im-server消息推送服务,不依赖业务,负责将消息推送给用户(ws)
im-client消息推送sdk,其他服务可集成此sdk与im-server通信
im-common公共包,后端服务均依赖此包
im-webweb页面
im-uniappuniapp页面,可打包成app、h5、微信小程序

消息推送方案

在这里插入图片描述

  • 当消息的发送者和接收者连的不是同一个server时,消息是无法直接推送的,所以我们需要设计出能够支持跨节点推送的方案

  • 利用了redis的list数据实现消息推送,其中key为im:unread:${serverid},每个key的数据可以看做一个queue,每个im-server根据自身的id只消费属于自己的queue

  • redis记录了每个用户的websocket连接的是哪个im-server,当用户发送消息时,im-platform将根据所连接的im-server的id,决定将消息推向哪个queue

界面截图

私聊

在这里插入图片描述

群聊

在这里插入图片描述

群通话

在这里插入图片描述

好友列表

在这里插入图片描述

群列表

在这里插入图片描述

移动端APP

在这里插入图片描述
在这里插入图片描述

开源地址

https://gitee.com/bluexsx/box-im

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一名技术极客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值