实时排序好友列表与 pubnub react sdk 1:1 聊天

Posted

技术标签:

【中文标题】实时排序好友列表与 pubnub react sdk 1:1 聊天【英文标题】:sort buddy list in real time 1:1 chat with pubnub react sdk 【发布时间】:2021-07-09 01:07:54 【问题描述】:

我正在尝试使用 PubNub 为社交应用程序设计一个实时应用内聊天。我发现这篇文章详细介绍了与 PubNub 进行一对一聊天的最佳架构http://pubnub.github.io/pubnub-design-patterns/2015/03/05/Inbound-Channel-Pattern.html

现在我的下一个问题是我必须在聊天窗口中显示用户列表,如何将这个列表与最晚发送消息的用户和长时间没有交互的用户排序在顶部底端。如果我开始从入站通道获取消息,每次用户登录时我都必须始终遍历入站通道到开头,这将是一个资源昂贵的调用,如果我们有大量用户群和大量消息,这也是不可行的卷。

我还将使用 PAM 来控制用户在频道上读/写的授权。

【问题讨论】:

【参考方案1】:

这确实是一篇很棒的博客文章! 如果您处于混合模式,那么无论如何您确实使用复制通道来提供历史记录,那么我将使用相同的通道并使用函数拦截它的内容,并简单地将订购的最新访问者列表存储在通道对象中,由最新显示首先,您甚至可以添加任何您想要的额外信息。然后,任何时候用户都可以从 REST 函数访问对象值到 PubNub,以便检索“混合通道”关联的对象值(之前存储的)并将始终更新的列表发送给聊天用户。这有一个优点:如果您不想在用户点击联系人列表中的一个联系人以避免预加载之前检索消息,那么您将不会为任何频道加载任何消息,除了可能是第一个用户,但是从历史记录中加载它总是比来自所有频道的所有消息要少,而且在获取之前它总是可用的,所以最快。

【讨论】:

以上是关于实时排序好友列表与 pubnub react sdk 1:1 聊天的主要内容,如果未能解决你的问题,请参考以下文章

在QQ好友列表中,在线好友是怎么样排序的?

来自具有PubNub,可伸缩性和超过9000个聊天室的后端的实时用户通知

怎么把qq好友按添加时间排序

Pubnub 正在向多个 uuid 发送心跳?

按消息文本的 Pubnub 搜索频道

多次调用 Pubnub 消息和存在处理程序