Интеграция GWT 2.4 и XMPP с JBoss 7.1

Мне нужна интеграция между XMPP (сервер Openfire) и GWT (2.4). Я уже сделал это, используя простой JS. Мой вопрос: как правильно подключиться к серверу с клиента. Мне нужны базовые функции, такие как чат. Только для отправки строковых сообщений на сервер и обратно. Я видел библиотеки Strophe (с большим количеством нативных вызовов JS) и Emite, но кажется, что их никто не поддерживает, и они устарели. Кто-нибудь может вставить фрагмент кода для подключения и обмена сообщениями? Спасибо.

изменить: я использую JBoss 7.1.Final в качестве сервера


person Didar Burmaganov    schedule 14.03.2012    source источник
comment
В основном мне нужен чистый клиентский код Java, такой как Emite, со свежим кодом внутри, поэтому я думаю, что мне нужно переписать и выбросить весь мусор из Emite :) и сделать его простым в использовании и модификации. Любые предложения помогут мне!   -  person Didar Burmaganov    schedule 14.03.2012
comment
вы еще не решили это? у нас такая же проблема атм   -  person pvgoddijn    schedule 31.12.2012
comment
нет я не сделал. Я выбрал базовый html и js. Если вам нужно использовать GWT, то в качестве базового решения вы можете импортировать strophe.js на главную html-страницу, а затем выполнять собственные вызовы с помощью ключевого слова java native или динамически импортировать с помощью инструментов GWT.   -  person Didar Burmaganov    schedule 09.01.2013
comment
@DidarBurmaganov Вы также можете подключиться к XMPP через Emite. Мне удалось подключиться к XMPP-серверу Ejabberd, следуя примеру на github.com/EmiteGWT. /emite/tree/0.7/examples. Вам нужно использовать прокси (проверьте отображение сервлета в web.xml)   -  person Nitish Borade    schedule 27.01.2013


Ответы (4)


Если вам нужен чистый клиентский код Java, вы можете использовать Smack, который вероятно, самая популярная библиотека Java для клиентов XMPP.

person Robin    schedule 14.03.2012
comment
Спасибо! Это то, что мне нужно, потому что я использую openfire, поэтому клиент также исходит от jivesoftware :) Но я НЕ могу напрямую использовать smack API в GWT. Поэтому, чтобы использовать его, я скачал src smack, перекомпилировал его, чтобы иметь .java и .class и добавил *.gwt.xml, поместил все в файл jar, а затем в мое приложение просто добавил «наследует путь к модулю smack» или другой обходной путь просто поместить все src прямо в структуру проекта (что выглядит немного безумно :)) - person Didar Burmaganov; 15.03.2012
comment
после некоторых попыток мне не удалось: P заставить его работать, потому что smack использует Socket, а компилятор GWT не может его скомпилировать. Поэтому Smack нельзя использовать с GWT. - person Didar Burmaganov; 16.03.2012
comment
Извините, я не знаком с GWT, но имел в виду тот факт, что вы сказали в своем комментарии, что вам нужен чистый клиентский код Java. - person Robin; 16.03.2012

Я ищу что-то в этом роде. Мое приложение использует Google OAuth для входа в систему. Теперь я хочу реализовать чат в своем приложении. Когда я войду в свое приложение, используя этот чат, я смогу общаться с людьми в GTalk, чате gmail и т. д. через чат в моем приложении. То есть я смогу общаться с пользователем в приложении, а также с пользователями вне приложения, используя групповой чат.

Любые предложения по «использованию чего» можно выполнить?

С Уважением

person Nitish Borade    schedule 17.01.2013

Google App Engine поддерживает XMPP (Google Talk :)). Я думаю, вы могли бы использовать его в проекте GWT. GAE XMPP

person Aleksej Vasinov    schedule 14.03.2012
comment
Спасибо за ответ! Я уже гуглил, но проблема в том, что я не использую GAE. Мой стек JBoss 7.1Final+openfire+GWT2.4 не могу перейти на GAE. Кстати, можно ли изменить исходники Google XMPP Client для работы с моим собственным сервером? Было бы здорово - person Didar Burmaganov; 14.03.2012
comment
Есть несколько библиотек, но я их не пробовал. Выбор за вами :) launchpad.net/gwt-strophe - person Aleksej Vasinov; 14.03.2012
comment
В Strophe есть много вызовов JSNI, которые я не хочу использовать, потому что это усложняется из-за смешанного кода Java. Также, когда я попробовал это, консоль во время компиляции напечатала такую ​​ошибку: [INFO] com.google.gwt.dev.jjs.InternalCompilerException: Failed to get JNode - person Didar Burmaganov; 14.03.2012
comment
Похоже, никто не может ответить на твой вопрос, чувак :D - person Nurlan; 15.03.2012

Я лично использовал Emite с хабларом. Хотя сейчас это может показаться устаревшим проектом, у него открытый исходный код, и вы можете его возродить. Например, у меня есть запрос на вытягивание для обоих проектов, где я взял код, который мог подключаться только к одному серверу xmpp, и изменил его, чтобы он мог подключаться к нескольким серверам одновременно.

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

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

person Ted Gulesserian    schedule 02.11.2014