2010-06-26 60 views
2

我目前正在研究XMPP,我想知道是否有创建动态XMPP名单的方法。我想让server/component/plugin自动生成任何用户的联系人列表。动态XMPP名册?

组件是否可以访问和修改花名册? 我知道一些服务器(如OpenFire)使用外部数据库来存储这些信息,但如果我修改数据库,我不认为用户会实时得到通知。

有些人已经这样做了,或者你有一个想法如何创建它?

谢谢你的时间。

回答

3

在大多数XMPP服务器中,这被称为“共享名册组”。

我不能评论Openfire,尤其是因为我很长一段时间没有使用过它,但我不认为我知道当前外部名单更改会立即传输到客户端的服务器。通常,客户端在下一次登录时将简单地选取新名单。

可以使用XMPP调用"roster pushes"立即将更新推送到客户端。这需要在服务器上进行一些工作,尽管要确定每个客户知道名单的内容和新名单之间的变化,然后只传输更改。

如果你真的需要这个,那么服务器插件可能是要走的路,或者纠缠你的服务器开发者的功能(我知道作为一个Prosody开发者,我已经被纠缠过了,计划工作)。

至于组件是否可以访问用户的名册 - 这取决于服务器的实现和配置。

+0

谢谢你的时间和你的好回答。我将看到我可以用服务器插件做什么。也许协议中有一些东西要求特定客户刷新其名册。 – 2010-06-28 10:18:16