2012-10-31 269 views
0

我想建立一個(安卓),應用程序,工作在P2P像這樣創建一個P2P Android聊天,用於網絡的框架?

服務器(對等的列表(用戶名& IP的))

&

手機(從服務器上獲取同行的列表,並創建它們之間的插座聊天(電話到手機),不涉及服務器)

到目前爲止,我已經設置了服務器和電話客戶端,它發送消息並被另一個服務器接收(它最終將在其他客戶電話)。但是,我遇到了手機通過NAT分配IP的問題,我需要做NAT穿越。

我想知道,有沒有更簡單的選擇去關於NAT穿越?也許在其中使用libjingle的XMPP端口? (A la ASmack)。或者我應該只使用JSTUN或其他框架的android?你們推薦什麼?

謝謝

+0

這是一個dup http://stackoverflow.com/questions/10014515/android-p2p-direct-connection-over-the-internet-behind-nat? –

+0

J-16 SDiZ,但使用中間的服務器進行通信正確嗎?我希望我的服務器做的是存儲IP和用戶名列表。 – user824015

回答

0

結賬:Kryonet

通過Kryonet,您可以通過一行代碼發現局域網連接中的服務器,然後檢索所有客戶端的地址,並根據您的應用程序設計嘗試連接它們。

它甚至以聊天應用程序爲例,Kryonet在桌面和Android設備上運行。

如果你有一個靜態的全局IP,那麼你可以很容易地使用Kryonet編寫服務器代碼,該代碼包含在線用戶及其IP的映射,然後可以做一個空洞的衝突來建立一個P2P連接,如果他們不是在同一個LAN中。