2010-06-26 22 views
2

我目前正在研究XMPP,我想知道是否有創建動態XMPP名單的方法。我想讓server/component/plugin自動生成任何用戶的聯繫人列表。動態XMPP名冊?

組件是否可以訪問和修改花名冊? 我知道一些服務器(如OpenFire)使用外部數據庫來存儲這些信息,但如果我修改數據庫,我不認爲用戶會實時得到通知。

有些人已經這樣做了,或者你有一個想法如何創建它?

謝謝你的時間。

回答

3

在大多數XMPP服務器中,這被稱爲「共享名冊組」。

我不能評論Openfire,尤其是因爲我很長一段時間沒有使用過它,但我不認爲我知道當前外部名單更改會立即傳輸到客戶端的服務器。通常,客戶端在下一次登錄時將簡單地選取新名單。

可以使用XMPP調用"roster pushes"立即將更新推送到客戶端。這需要在服務器上進行一些工作,儘管要確定每個客戶知道名單的內容和新名單之間的變化,然後只傳輸更改。

如果你真的需要這個,那麼服務器插件可能是要走的路,或者糾纏你的服務器開發者的功能(我知道作爲一個Prosody開發者,我已經被糾纏過了,計劃工作)。

至於組件是否可以訪問用戶的名冊 - 這取決於服務器的實現和配置。

+0

謝謝你的時間和你的好回答。我將看到我可以用服務器插件做什麼。也許協議中有一些東西要求特定客戶刷新其名冊。 – 2010-06-28 10:18:16