2012-03-14 68 views
2

我需要XMPP(Openfire服務器)和GWT(2.4)之間的集成。 我已經使用普通JS完成了它。 我的問題是:什麼是從客戶端連接到服務器的正確方法。 我需要聊天等基本功能。僅將字符串消息發送到服務器並返回。 我見過Strophe(有很多本地電話給JS)和Emite圖書館,但似乎沒有人支持他們,他們變老了。 有人可以粘貼連接和交換消息的代碼片段嗎?謝謝。GWT 2.4和XMPP與JBoss 7.1的集成

編輯:我使用JBoss 7.1.Final作爲服務器

+0

基本上我需要像Emite一樣的純Java客戶端代碼,裏面有「新鮮」的代碼,所以我認爲我需要重寫並丟棄emite的所有垃圾:)並且使其易於使用和修改。任何建議都會幫助我! – 2012-03-14 10:38:53

+0

你解決了嗎?我們有同樣的問題atm – pvgoddijn 2012-12-31 11:36:26

+0

不,我沒有。我選擇了基本的html和js。如果你必須使用GWT,那麼作爲一個基本的解決方案,你可以將strophe.js導入到主html頁面,然後通過java的* native *關鍵字進行本地調用,或者使用GWT的工具動態導入。 – 2013-01-09 17:46:22

回答

0

谷歌App Engine支持XMPP(谷歌對話:))。我想你可以在GWT項目中使用它。 GAE XMPP

+0

感謝您的迴應!我已經GOOGLE了,但問題是我不使用GAE。我的堆棧是JBoss 7.1Final + openfire + GWT2.4我無法切換到GAE。順便說一下,是否可以修改Google的XMPP客戶端源代碼以使用我的自定義服務器?會很好 – 2012-03-14 08:52:56

+0

有一些圖書館,但我沒有嘗試它們。這取決於你選擇:) https://launchpad.net/gwt-strophe – 2012-03-14 09:10:57

+0

Strophe有很多JSNI調用,我不想使用,因爲它變得複雜的Java代碼混合。另外,當我試圖在編譯期間控制檯打印此類錯誤: [信息] com.google.gwt.dev.jjs.InternalCompilerException:無法獲得JNode – 2012-03-14 09:22:51

1

如果您正在尋找純Java客戶端代碼,那麼您可以使用Smack,這可能是XMPP客戶端最流行的Java庫。

+0

謝謝!這就是我需要的,因爲我使用openfire,因此客戶端也來自jivesoftware :)但是我不能直接在GWT中使用api。因此,要使用它,我下載了smack的src,重新編譯爲.java&.class並添加* .gwt.xml,將所有內容放入jar文件中,然後在我的應用程序中簡單地添加 或另一個解決方法是將所有src的直接放置到項目結構(看起來有點瘋狂:)) – 2012-03-15 06:03:12

+0

經過一些嘗試我失敗了:P得到它的工作,因爲smack使用Socket和GWT編譯器無法編譯它。所以Smack不能與GWT一起使用。 – 2012-03-16 10:39:40

+0

對不起,我對GWT並不熟悉,但是解決了你在評論中說你需要純Java客戶端代碼的事實。 – Robin 2012-03-16 17:12:40

1

我正在尋找這種東西。 我的應用程序使用Google OAuth進行登錄。現在,我想在我的應用程序中實現聊天。 當我通過使用這個聊天工具登錄到我的應用程序時,我將能夠通過我的應用程序中的聊天與GTalk,Gmail聊天等人聊天。 這就是我將能夠在應用程序中與用戶聊天,以及使用羣聊與應用程序外的用戶聊天。

有關「使用什麼」的任何建議能否實現?

Regards

0

我個人使用emb和hablar。儘管它現在看起來像一個陳舊的項目,但它是開放源代碼的,您可以恢復它。例如,我對兩個項目都提出了pull請求,在這兩個項目中,我只能將代碼連接到單個xmpp服務器並對其進行修改,以便它可以同時連接到多個服務器。

如果你只想要通信棧,並且想爲ui編寫比hablar包更爲自定義的東西,Emite是一個好的開始。

Hablar爲您提供了您需要的用戶界面的良好基礎。