2014-03-13 138 views
1

我正在使用MacBook開發Android應用程序。我還開發了一個在我的本地主機服務器上運行的Java EE應用程序。 現在,我希望在設備上運行我的Android應用程序,以便與在MacBook上運行的本地主機服務器(wildfly)通信。我嘗試以下步驟:Android設備上運行設備訪問本地主機服務器(在MacBook上)在我的情況

  • 在我的MacBook我做了以下幾件事:

    1. 建立通過適配器與有線以太網線連接我的MacBook的互聯網連接。

    2. 我去系統偏好設置 - >共享 - >選擇「共享從迅雷以太網我的連接」到「電腦使用Wi-Fi」 - >啓用「Internet共享」

    3. 我查了我的MacBook的IP地址,現在,它是192.168.2.30

  • 在我Android設備我做了以下幾件事:

    1. 打開Wi-Fi選項,我看到我的MacBook熱點,我的Android設備成功連接到我的MacBook熱點。

    2. 我的Android應用程序編程在http://192.168.2.30/MyServerApp-1.0-SNAPSHOT/rest

    3. 我安裝我的Android應用程序來訪問服務器和設備上運行它。但它無法訪問我的本地主機服務器。我無法從設備瀏覽器訪問本地主機。我的設備IP是192.168.1.2爲什麼?我錯在哪裏或失蹤?

附:在我的Android應用中,我有所有必需的權限,例如<uses-permission android:name="android.permission.INTERNET" />,我的應用程序能夠訪問生產服務器。我的問題是在本地主機服務器訪問。

+0

您可以從瀏覽器訪問您的本地主機服務器的設備上。還要在wifi設置中檢查您的設備IP。 – Mobility

+0

不,我無法從瀏覽器訪問本地主機。請參閱我的更新。 – Mellon

+0

檢查您的服務器設置,看看它是否正在偵聽正確的IP。如果是端口80.從終端運行netstat -an | grep 80,看看服務器正在監聽什麼ip。 – Mobility

回答

0

在您的描述中,您沒有提及對WildFLy綁定的IP地址進行任何更改,默認情況下它是localhost,這意味着它無法被任何遠程客戶端訪問。

如果您使用以下命令啓動WildFly: -

./standalone.sh -b 192.168.2.30

現在,這將導致WildFly到您的計算機的公共IP地址被監聽。

或者編輯standalone.xml和接口部分中的公共接口定義修改爲: -

<interface name="public"> 
     <inet-address value="192.168.2.30"/> 
    </interface> 
+0

實際上可能不相關,再次閱讀你的描述你說應用程序編碼訪問一個地址,並且你的計算機運行的地址不同,Android應用程序將不得不使用你的Mac地址,除非該替代地址是某種形式的代理或防火牆轉發請求到您的mac。 –

相關問題