# 《分布式IM系统》即时通讯SDK-第05节:接收消息发送结果的流程设计与实现

作者:冰河
星球:http://m6z.cn/6aeFbs (opens new window)
博客:https://binghe.gitcode.host (opens new window)
文章汇总:https://binghe.gitcode.host/md/all/all.html (opens new window)
源码获取地址:https://t.zsxq.com/0dhvFs5oR (opens new window)
课程视频:https://t.zsxq.com/15iHHmTWD (opens new window)

沉淀,成长,突破,帮助他人,成就自我。

  • 本节难度:★★☆☆☆
  • 本节重点:对即时通讯SDK中接收消息发送结果的流程进行设计与实现,掌握SDK类库的设计和实现方法,并将其灵活应用到自身实际项目中。
  • 课程视频:https://t.zsxq.com/15iHHmTWD (opens new window)

大家好,我是冰河~~

在即时通讯SDK中,已经实现了发送单聊消息,发送群聊消息,获取用户的在线状态信息,并且也实现了消息的广播与监听机制。根据在前面文章的分析,即时通讯后端服务向目标用户推送消息后,会向消息中间件集群发送结果数据,而即时通讯SDK接收到消息中间件集群的结果数据后,会处理相关的结果数据。

# 一、前言

即时通讯SDK并不会与即时通讯后端服务之间直接进行数据交互,而是通过消息中间件进行数据交互。这样,即时通讯SDK与即时通讯后端服务之间不仅可以做到业务解耦,还能缓冲大量用户同时在线进行聊天时,对系统的流量冲击。但是引入消息中间件后,多多少少都会增加数据交互的复杂度,即时通讯后端服务向目标用户推送消息后,也需要将消息的推送结果通过消息中间件集群发送给即时通讯SDK。

# 二、本节诉求

对即时通讯SDK中接收消息发送结果的流程进行设计与实现,即时通讯SDK监听消息中间件集群中的数据,接收到消息中间件的结果数据后,调用广播方法来广播处理消息发送的结果状态。

# 三、流程设计

即时通讯后端服务向目标用户推送消息后,会向消息中间件集群发送消息的发送结果数据,即时通讯SDK监听消息中间件中的数据,接收到数据后会调用广播方法来处理结果状态,整个流程如图5-1所示。


可以看到,即时通讯SDK发送向消息中间件发送消息后,会调用广播方法回传消息发送结果。即时通讯后端服务会监听消息中间件中的数据,接收到数据后,会将消息推送给目标用户。随后将消息推送结果发送给消息中间件集群,即时通讯SDK接收到发送的结果数据后,调用广播方法处理消息发送结果。在广播方法中,实际上会调用集成即时通讯SDK的大后端平台和其他业务系统中实现消息监听接口的具体实现类的方法来处理结果数据。

# 四、类结构设计

即时通讯SDK接收消息发送结果的流程如图5-2所示。

# 查看完整文章

加入冰河技术 (opens new window)知识星球,解锁完整技术文章、小册、视频与完整代码