默认
打赏 发表评论 21
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
如果每个会话的消息是有顺序的,那已读状态就是记录会话中的每个人已读的最大值;这样群成员的已读状态就会形成离散的分布,那对于当前消息的已读状态,就是计算群成员中有多少人的已读值大于该消息的值
评论 21
引用:JackJiang 发表于 2020-10-20 11:03
消息顺序,从理论上是很难百分百保证的,所以任何依赖于顺序的逻辑,都存在因乱序而导致的不正确性

很多分布式id方案都可以解决id的有序性
引用:fzully 发表于 2020-12-25 00:08
用户读了某条消息,不能简单认定该会话的在这条消息之前的所有消息都是已读的。
用户可能跳着阅读,比如 ...

有个现象是:常用im的聊天软件中,就算是跳着看的,下次再看该会话也是没有未读计数显示在该会话上的;对于那些连续好多未读的群消息会话,其已读属性是不是没有那么重要了,转变为是否看到这个会话有无未读来的更人性化些,毕竟未读消息越多,其即时消息的即时属性就越小,其及时性是不是已经没有那么重要了,换句话说:用户是不是专注于【即时】消息的已读更好一点,时间跨度过长,已然失去了即时性;而且如果真的是要观测每个人对该条消息是否已读,发送特殊的群消息类型是不是更好一点
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部