连接到ejabberd服务器和应用程序服务器

时间:2016-08-20 08:28:24

标签: angularjs node.js xmpp ejabberd

我有一个ejabberd服务器,我正在尝试在我的Angular / NodeJS应用中构建聊天模块。

Currenlty,我的Angular应用直接连接到聊天服务器。假设我的roster有100个联系人,包含onlineoffline个联系人。我需要将所有100个联系人与我的应用程序服务器中的用户进行映射,以获取更多详细信息,例如companyIdemailcontact等。

我是否必须遍历每个联系人并将API调用到应用程序服务器?不会对前端造成太大负担吗?有没有更好的方法来实现这一目标?

如果我的问题很愚蠢,请道歉。我是XMPP的新手。

2 个答案:

答案 0 :(得分:0)

有几种方法可以做到这一点。

您可以从API获取每个用户,对其进行缓存,以便下次您不必获取所有数据,但这不是最佳解决方案。

另一种解决方案是通过将所有id传递给您的节点应用程序来使所有联系人只需一次调用。然后,节点应用程序可以从数据库中获取所有需要的数据,并使用一个请求而不是100来传回。

答案 1 :(得分:0)

或多或少相同的问题我使用jabber搜索来获取所有用户并存储在整个会话的客户端。

我对其进行了回复"所有用户都可以与所有其他用户聊天" (服务器上大约有100个用户),

如果不是,我建议你创建一个自定义IQ并让服务器缓存Jabber搜索(在每次用户注册后更新)并在一次调用中仅回复所需的数据,async。

相关问题