Подключение к серверу ejabberd и серверу приложений

angularjs node.js xmpp ejabberd

304 просмотра

2 ответа

У меня есть сервер ejabberd, и я пытаюсь создать модуль чата в своем приложении Angular / NodeJS .

В данный момент мое Angularприложение подключается напрямую к серверу чата. Предположим, у меня rosterесть 100 контактов, состоящих из onlineи offlineконтактов. Мне нужно , чтобы отобразить все 100 контактов с пользователями в моем сервере приложений , чтобы получить больше деталей , таких как companyId, email, contactи т.д.

Нужно ли проходить через каждый контакт и вызывать API на сервере приложений? Разве это не повлияло бы на внешний интерфейс? Есть ли лучший способ добиться этого?

Извиняюсь, если мой вопрос глупый. Я новичок в XMPP.

Автор: Jaseem Abbas Источник Размещён: 08.11.2019 11:04

Ответы (2)


0 плюса

Есть несколько способов сделать это.

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

Другим решением было бы получить все контакты одним вызовом, передав все идентификаторы приложению вашего узла. Затем приложение узла может получить все необходимые данные из вашей базы данных и передать их одним запросом, а не 100.

Автор: Willi Pasternak Размещён: 20.08.2016 08:40

0 плюса

С более или менее такой же проблемой я использовал jabber search, чтобы получить доступ ко всем пользователям и хранить их на клиенте в течение всего сеанса.

Моя рекомендация: «все пользователи могут общаться со всеми другими пользователями» (около 100 пользователей на сервере),

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

Автор: MrPk Размещён: 20.08.2016 01:09
Вопросы из категории :
32x32