2010-06-26 3 views
2

В настоящее время я изучаю XMPP, и мне хотелось бы знать, есть ли способ создать динамические списки XMPP. Я хочу, чтобы список контактов любого пользователя автоматически генерировался сервером/компонентом/плагином.Динамические списки XMPP?

Могут ли компоненты доступа и изменять списки? Я знаю, что некоторые серверы (например, OpenFire) используют внешнюю базу данных для хранения этой информации, но если я изменю базу данных, я не думаю, что пользователи будут уведомлены в реальном времени.

Некоторые люди уже это делают или у вас есть идея, как его создать?

Спасибо за ваше время.

ответ

3

На большинстве серверов XMPP это называется «разделяемые группы групп».

В частности, я не могу комментировать Openfire, потому что я не использовал его в течение длительного времени, но я не думаю, что знаю сервер, в котором внешние изменения реестра мгновенно передаются клиентам. Обычно клиент будет просто собирать новый список, когда он будет входить в систему.

Можно было бы мгновенно нажать обновления клиентам, используя то, что XMPP вызывает "roster pushes". Для этого потребуется довольно много работы на сервере, но для определения того, какие изменения происходят между тем, что каждый клиент знает, каким должен быть список, и чем является новый список, а затем передавать только изменения.

Если вам это действительно нужно, возможно, серверный плагин, вероятно, будет способ пойти или приукрасить разработчиков вашего сервера для этой функции (я знаю, что в качестве разработчика я уже был приставлен, и это то, m планирование для работы).

Что касается того, могут ли компоненты получить доступ к реестрам пользователей - это зависит от реализации и конфигурации сервера.

+0

Спасибо за ваше время и ваш хороший ответ. Я увижу, что я могу сделать с плагином сервера. Возможно, есть что-то в протоколе, чтобы попросить специфических клиентов обновить свой список. –