Сервер XMPP и пользовательские API
У меня есть сценарий, где мне нужен чат-клиент для Android и iOS и XMPP-сервер, настроенный как для частного использования, так и для хостинга. Мне нужно вызвать три API из мобильного приложения (чат-клиента) и из веб-приложения.
1) Нужен API, который может зарегистрировать нового пользователя на сервере XMPP, чтобы в будущем, если будет звонок от клиента чата на сервер xmpp, сервер сможет его распознать (мобильное приложение будет вызывать этот API).
2) Нужен API, который может создавать чат-группы.(веб-приложение будет называть это API)
3) Нужен API, который может добавлять пользователя в группы чата и может создавать сеанс для пользователя для определенной группы чата (мобильное приложение будет называть этот API)
Нужно ли создавать вышеуказанные API-интерфейсы в качестве пользовательских API-интерфейсов на существующем сервере XMPP или мне нужно создать свой собственный сервер xmpp?
Пожалуйста, предложите любой хороший XMPP-сервер, который отвечает моим требованиям.
Я не уверен, как я могу выполнить вышеуказанное требование.
Обратите внимание, что мне нужно это в технологии.net.
1 ответ
В качестве сервера вы можете использовать более или менее то, что вы хотите. Наверняка Openfire и Ejabber широко используются и поддерживают более или менее все спецификации XMPP.
Об API: у вас есть 2 варианта:
- получить "лучший" API для каждой платформы, поэтому для каждой платформы вам нужен собственный клиент (лучше всего по производительности)
- используйте API-интерфейс javascript и оберните клиент HTML + JS в ваше приложение с платформой declied.
Это список API: https://xmpp.org/software/libraries.html
Трудно предложить что-то особенное из-за варикозных линз.
Как я знаю, Smack - это очень полный API и работает с Android: его не так просто использовать, но Bubbler есть (даже если не все это поддерживается).
О js:strophe.js поддерживает чат и групповой чат
О сессии: это 75% сервер и 25% API. Api просто требует подключения и входа в систему, сервер будет хранить сессию.
О создании: Smack делает, должен проверить для других API. Однако написать такую функцию не так сложно (XMPP требует фиксированный шаблон XML, просто скопируйте этот XML). Конечно, лучше иметь что-то уже приготовленное, протестированное и готовое, но одна функция может быть разработана за короткое время.