Loading...

闪电云

的新鲜事和新闻。

IM群聊消息已读未读功能如何实现

时间:2020-07-23 17:36 阅读:1450

IM系统中,消息的阅读状态或许是一个强需求。有消息即时通讯就从自身的经验,从服务端角度来探讨阅读状态。


那么,对于已读未读状态:

1)如果是私聊:消息的阅读状态比较容易实现,在性能和存储上也不存在问题;

2)如果是群聊:考虑到存储和处理性能,特别当处于一个云环境时,如何高效地处理群聊的已读未读状态是一个非常值得探讨的话题。“高效”包含3个方面:存储空间、处理速度、传输字节数。


客户端与服务端之间,关于阅读状态的是如何实现的呢 ?

1、通知消息已读(私聊、群聊通用)

当A阅读了一条或若干条消息,需向服务端发送消息已读通知:“其他群成员的x+y+z消息,A已阅”。

2、服务端收到A的已读回执时

存储消息的已读状态→返回应答给A→向已读列表的消息的原始发送者通知消息已读。

3、客户端处理

私聊-即发送给私聊的对方;

群聊-稍微复杂:因为A发送的已读消息列表,可能是由众爱卿发送的。考虑这种假设:B、C、D发出的群聊消息,被A一下都阅读了,那么A发出的已读通知包含的消息列表,需要被IMS分解成3个已读通知(3个不同的消息列表),分别通知给B、C、D,通知内容是“BCD发的这些消息,A已阅”。


有消息即时通讯系统,高并发,目前功能少,支持各类定制开发!



服务电话:0371-66850001
售前电话:155-3800-1716
扫码添加专属销售