2010-08-06 121 views
3

所以我有一個需要連接到套接字服務器的android應用程序。如果套接字服務器在我的開發機器上運行,這很簡單。然而,套接字服務器不僅在我自己的機器上,而且在不同的子網上運行在服務器上。我將如何將我的模擬器連接到套接字服務器?我瞭解端口轉發如何工作以連接到本地計算機,但我對如何通過我的開發計算機跨子網重定向它感到困惑。跨網絡的Android仿真器網絡

+0

我對端口轉發並不十分熟悉,但是我會考慮像udp:132.55.31.14:9102這樣的協議,IP地址和端口。 (這些是隨機數) – Sephy 2010-08-06 21:04:30

回答

1

你可以從模擬器的主機獲得套接字服務器嗎?我不知道你的情況,但我一直在測試Android模擬器上的網絡客戶端應用程序,它似乎能夠訪問網絡上的任何東西,我的開發盒只需使用標準的Java網絡調用就可以訪問,而且沒有特別的安裝仿真器端。這包括更廣泛的互聯網。

如果你不能,你需要設置服務器端以確保服務器暴露於遠程機器;這與您在Android模擬器端進行的操作無關,除非服務器也是Android模擬器。當然,這可能與防火牆規則和標準網絡路由有關。

+0

我的開發機器可以連接到套接字服務器沒有問題。我會一直在搞它 – Falmarri 2010-08-12 19:29:19

+0

你的網絡在模擬器之外是什麼樣的?也許與模擬器的地址空間有某種衝突。 – 2010-08-12 19:34:10

+1

此外,作爲一種故障排除措施,您可以在開發機器上用'ssh服務器-L1234:localhost:serverport'創建一個ssh隧道,然後讓您的應用程序連接到'10.0.2.2:1234'以獲取某些端口1234以查看是否你的網絡代碼正在工作。 – 2010-08-12 19:36:11