|
|
@ -10,7 +10,7 @@ |
|
|
1. 支持单人、多人音视频通话(基于原生webrtc实现,需要ssl证书) |
|
|
1. 支持单人、多人音视频通话(基于原生webrtc实现,需要ssl证书) |
|
|
1. uniapp端兼容app、h5、微信小程序,可与web端同时在线,并保持消息同步 |
|
|
1. uniapp端兼容app、h5、微信小程序,可与web端同时在线,并保持消息同步 |
|
|
1. 后端采用springboot+netty实现,网页端使用vue,移动端使用uniapp |
|
|
1. 后端采用springboot+netty实现,网页端使用vue,移动端使用uniapp |
|
|
1. 服务器支持集群化部署,每个im-server仅处理自身连接用户的消息 |
|
|
1. 服务器支持集群化部署,具有良好的横向扩展能力 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
详细文档:https://www.yuque.com/u1475064/mufu2a |
|
|
详细文档:https://www.yuque.com/u1475064/mufu2a |
|
|
@ -60,9 +60,9 @@ https://www.yuque.com/u1475064/imk5n2/qtezcg32q1d0dr29#SbvXq |
|
|
| im-uniapp | uniapp页面,可打包成app、h5、微信小程序 | |
|
|
| im-uniapp | uniapp页面,可打包成app、h5、微信小程序 | |
|
|
|
|
|
|
|
|
#### 消息推送方案 |
|
|
#### 消息推送方案 |
|
|
|
|
|
当消息的发送者和接收者连的不是同一个server时,消息是无法直接推送的,所以我们设计出了能够支持跨节点推送的方案: |
|
|
 |
|
|
 |
|
|
|
|
|
|
|
|
- 当消息的发送者和接收者连的不是同一个server时,消息是无法直接推送的,所以我们需要设计出能够支持跨节点推送的方案 |
|
|
|
|
|
- 利用了redis的list数据实现消息推送,其中key为im:unread:${serverid},每个key的数据可以看做一个queue,每个im-server根据自身的id只消费属于自己的queue |
|
|
- 利用了redis的list数据实现消息推送,其中key为im:unread:${serverid},每个key的数据可以看做一个queue,每个im-server根据自身的id只消费属于自己的queue |
|
|
- redis记录了每个用户的websocket连接的是哪个im-server,当用户发送消息时,im-platform将根据所连接的im-server的id,决定将消息推向哪个queue |
|
|
- redis记录了每个用户的websocket连接的是哪个im-server,当用户发送消息时,im-platform将根据所连接的im-server的id,决定将消息推向哪个queue |
|
|
|
|
|
|
|
|
@ -102,7 +102,7 @@ https://www.yuque.com/u1475064/mufu2a/vn5u10ephxh9sau8 |
|
|
|
|
|
|
|
|
#### 界面截图 |
|
|
#### 界面截图 |
|
|
私聊: |
|
|
私聊: |
|
|
 |
|
|
 |
|
|
|
|
|
|
|
|
群聊: |
|
|
群聊: |
|
|
 |
|
|
 |
|
|
|