2016-08-20 198 views
0

我有一個ejabberd服務器,我正在嘗試在我的Angular/​​應用程序中創建一個聊天模塊。連接到ejabberd服務器和應用程序服務器

Currenlty,我的Angular應用程序直接連接到聊天服務器。假設我的roster有100個聯繫人,包括onlineoffline聯繫人。我需要在所有與我的應用程序服務器的用戶100個聯繫人映射爲得到這樣的詳細信息companyIdemailcontact

難道我通過每個聯繫人都循環,並呼籲到應用服務器的API?這不會給前端帶來很多負擔嗎?有沒有更好的方法來實現這一點?

道歉,如果我的問題是愚蠢的。我是XMPP的新手。

回答

0

有幾種方法可以做到這一點。

你可以從你的API中獲取每一個用戶,將它們緩存起來,以便下一個你不必去獲取所有的數據,但那不是最佳解決方案。

另一種解決方案是通過將所有id傳遞給您的節點應用程序來獲得所有聯繫人的單一呼叫。然後,節點應用程序可以從數據庫中提取所有需要的數據,並將其傳回一個請求而不是100.

0

或多或少有同樣的問題,我使用jabber搜索起牀所有用戶並存儲在客戶端整個會議。

我requsite它的「所有用戶都可以與所有其他用戶聊天」(在服務器上大約100個用戶),

,如果你不在,我建議你創建一個自定義的智商,讓服務器緩存的Jabber搜索(在每次用戶註冊後更新),並在單次調用中只回復所需的數據,異步。