2012-10-19 157 views
-1

我想編寫一個Android應用程序,用戶可以通過xmpp通過本地WiFi網絡與他們的手機通話。我選擇XMPP的原因是,他們可以使用任何客戶端軟件,如Pidgin,Miranda等。Java XMPP服務器

通信只會在應用程序和客戶端之間,所以理想情況下我想要的是客戶端程序因爲Pidgin能夠連接到我的應用程序併發送和接收消息。爲此,我想我需要在我的應用程序中用Java編寫一個非常輕量級的XMPP服務器,供客戶端連接。 我發現了很多有關各種XMPP服務器(OpenFire等)的信息,但是它們適用於更多的商業實現,而在服務器上我可能不會使用這種情況下的功能,我根本沒有空間。另外我似乎無法找到XMPP服務器的任何庫,有許多像SMACK這樣的客戶端庫,但沒有任何我可以在服務器端看到的。

有沒有人有任何建議,我該怎麼做呢?有沒有一種方法來模擬使用Java的XMPP服務器?

+0

如果你想在Android上運行一個XMPP *服務器*實例(如果有的話),我不是很清楚嗎?服務器通常不會實現爲輕量級庫。您嘗試實現的目的(發送和接收SMS消息,控制Android手機)與[GTalkSMS](http://code.google.com/p/gtalksms)的功能類似。 – Flow

+0

除了GTalkSMS使用的Google Talk是連接到Google Talk服務器的客戶端..我想直接連接到XMPP客戶端程序(如Pidgin – crazyfool

+0

)的手機。如果不是這樣,您可以將GTalkSMS與任何符合XMPP的服務器一起使用。通過*不使用*鏈接本地(又名無服務器)XMPP它也可以工作,如果你忘了你的車在你的Android設備。 :) – Flow

回答

0

聽起來像你正在尋找Serverless XMPP。我不確定哪些圖書館可能會支持這一點。

至於在Android中使用嵌入式服務器,有幾個Java服務器可用(如Openfire和Tigasse),但我認爲你不會嘗試在Android上安裝它們。你很可能會更好的尋找,或者實現前面提到的無服務器XMPP擴展。

我相信在實際的中央服務器上安裝更典型的設置會簡單得多。你可能想補充爲什麼這是不可取的。

+0

這看起來有點像我在尋找的東西,但是我也希望服務器能夠爲客戶提供一個名冊。我想開發的應用程序將允許您在您的電腦上查看短信,並回復。爲了能夠將它集成到現有的xmpp客戶端軟件中,我需要在應用程序中提供一個服務器以供它們連接。感謝您回覆btw。 – crazyfool