2012-06-05 39 views
1

我正在嘗試編寫一個客戶端服務器應用程序,其中客戶端是Android設備。Android:手機和系統之間的套接字編程

我對socket編程沒有信心。

我已經編寫了一個服務器端應用程序和一個在我的模擬器上運行的客戶端。

同樣的應用程序可以在真正的android設備之間工作嗎?

+0

我不是網絡專家。但只要你的服務器應用程序具有靜態IP,它也應該可以在你的電腦外工作。 (即在手機上運行)當我閱讀你的文章時,你還沒有使用手機+電腦進行測試。你沒有安裝Android設備嗎?這是測試 –

+0

謝謝... 的唯一途徑,雅我的服務器具有恆定的IP,我希望它的作品... 是的,我沒有一個Android device..which已經引起了問題.. ..我正試圖管理1 ... –

+0

說實話,我不認爲任何人都可以在這種情況下回答你的問題。您需要共享您的應用程序,或者自己測試並在出現問題時再回來。我們可以幫助你解決問題,而不是預測。 –

回答

0

我編輯了你的問題(一旦它的評論會顯示出來)。據我所知,你的問題是通用的。它適用於我的模擬器,它是否可以在我的設備上工作。

答案是肯定的。模擬器連接到10.0.2.2,在主機上重定向到127.0.0.1?這就是你如何運作的。

爲了把它從一個設備工作,你需要做以下

  1. 裝載Java服務器上的真實IP地址在桌面上
  2. 確保您的桌面互聯網和IP上地址對互聯網可見(打開)
  3. 確保您的Android手機指向您的桌面的公共IP地址。

現在,我知道你的擔心:)打開IP地址。所以,你可以使用ec2(免費的亞馬遜ubuntu實例),在其上安裝java並運行你的服務器爲java -jar。在eclipse中,你可以在你的jarfilename_lib路徑中用lib導出jar文件(可運行的jar文件)。

+0

我沒有使用10.0.0.2 ...而是我的系統的公共IP直接...並且它在那裏工作...... 您的意思是這個 「確保您的桌面在互聯網上並且IP地址可見到互聯網(打開)「 我的筆記本電腦必須連接到互聯網? thanx .. –

+0

它可以是,您的桌面連接到互聯網,並具有暴露的IP地址,或使用LAN連接從您的電腦到平板電腦。例如some tethng喜歡tethering ..但我認爲你想能夠從距離桌面5公里的酒吧內建立連接,但可以使用免費wifi(僅舉例)。在這種情況下,您的桌面需要有互聯網連接才能到達。 –

+0

@ RC用戶,當我說10.0.0.2時,我的意思是你的模擬器測試。而且它不是10.0.0.2,它的10.0.2.2。 – Siddharth

0

您可以使用spring對於通過HTTP請求的android。 Here就是一個例子。 當你在服務器中有靜態IP時,你應該在你的實際設備中設置這個靜態IP。如果你在模擬器上運行你的應用,你必須設置10.0.0.2。

相關問題