XMPP и Android взаимодействие - PullRequest
1 голос
/ 02 июня 2010

В настоящее время я нахожу информацию о том, как создать клиентское приложение XMPP на Android 2.1. Я натолкнулся на эту ссылку , которая несколько говорит о той же проблеме. Я новичок в android dev и, таким образом, нашел решение дано там будет трудно переваривать.

В настоящее время система имеет Active MQ в качестве JMS-провайдера. Моя задача состоит в том, чтобы передавать сообщения, поступающие от JMS, на сервер XMPP, а затем разрабатывать клиент XMPP на Android 2.1, который будет прослушивать и отображать уведомления о событиях, выдвигаемых сервером.

У меня следующие проблемы (которые могут показаться глупыми) 1. Как передать события из JMS на сервер XMPP, который, в свою очередь, отправит их на Android?

2.Какую реализацию сервера XMPP мне следует использовать? У меня есть 3 варианта * Openfire: очень зрелый (был коммерческим продуктом), но звучит как тяжеловесный, написанный на Java * Просодия: легкий и простой в использовании, написанный на Lua. Еще не имеет модуля PubSub * Tigase: также легкий, написанный на Java, поддерживает PubSub Как проверить и настроить эти серверы. Нужна ли функциональность PubSub для моего приложения?

3.Для клиента XMPP я наткнулся на Smack API, указанный здесь , который обновляется 2 года назад. Может кто-нибудь подсказать, как мне использовать его для Android 2.1. Если это возможно, может кто-нибудь, пожалуйста напишите мне последние рабочие файлы Smack jar.

Спасибо, Амея

Ответы [ 3 ]

2 голосов
/ 08 августа 2010

Почему вы не используете eJabberd в качестве сервера XMPP? Мне кажется, что он лучше всех поддерживает pubsub и является очень эффективным сервером. Мы используем его с 2 лет без каких-либо проблем. И на стороне клиента, да, asmack, если определенно выбор с открытым исходным кодом, но имеет некоторые недостатки: он не поддерживает pubsub и имеет некоторые очень неприятные ошибки, с которыми вы столкнетесь, если погрузитесь в некоторые из его функциональных возможностей. Нам пришлось значительно улучшить и расширить его, чтобы реализовать наш полнофункциональный клиент для обмена мгновенными сообщениями / микроблогов / геолокации в социальной сети для Android (называемый BuddyMob), и теперь мы предоставляем расширенную версию Smack в качестве коммерческого продукта (см. http://www.ubikod.com/products.htm). Некоторые наши исправления ошибок были интегрированы в ствол Smack, но большинство расширений, которые мы сделали, не бесплатны.

1 голос
/ 02 июня 2010

Посмотрите на asmack для клиента Smack для Android: http://code.google.com/p/asmack/

0 голосов
/ 04 июня 2010

Вы можете отправлять сообщения из JMS в XMPP, используя Apache Camel - http://camel.apache.org/xmpp.html

...