2011-11-30 63 views
7

模擬器可以訪問的,而不是10.0.2.2網絡服務fromlocal主機,但我真正的設備無法雖然我使用LAN IP地址(192.168.xx.yyy)訪問本地主機。當然,我的android手機被adb認可,它通過USB端口連接我的筆記本電腦。無法從Android設備

我已經在讀計算器一些類似的問題,但仍然不知道如何從一個真正的Android手機訪問web服務。這個問題的答案How can I access my localhost from my Android device?我很有用,但我並不真正理解這個答案。

任何人都可以幫助我嗎?謝謝!

+0

試試這個:http://stackoverflow.com/a/17603378/1600061 –

+0

雖然我知道這是晚了,但對於有這樣的問題的新人,請參閱 - > 192.168.1.yyy我得到了同樣的問題因爲192.168.0.yyy是瀏覽器和192.168.1.yyy移動設備在我的情況下,解決了我的一切。 請聯繫您的系統管理員或詢問一些高級程序員。享受編程! – SameerKhan1406

回答

-2

您是否嘗試過使用連接到局域網WiFi路由器?然後你只需要使用你的手機連接到無線網絡,你應該能夠訪問(192.168.xx.yyy)

+0

我已經試過了。我拔掉了USB電纜,並將移動設備連接到與筆記本電腦相同的局域網(現在我的移動設備和筆記本電腦具有相同的IP),但我仍拒絕從移動設備訪問Web服務。 – Wayne

+0

您可以從另一臺機器訪問Web服務嗎?你需要提一個端口號嗎?防火牆是否阻止訪問Web服務? – rfsk2010

+0

同一局域網中的不同機器不能。我不知道爲什麼吧 – Wayne

7

也可能是Web服務器偵聽的環回接口上而不是在網絡接口上。這意味着127.0.0.1localhost上的匹配將會起作用,但192.168.xxx.xxx不會(無論是來自本地主機,LAN還是WAN)。

要確定服務器正在偵聽哪個接口,請查看here以獲取有關偵聽端口的信息(我使用的是lsof -Pan -i tcp -i udp)。然後在列表中查找您的服務器進程。對於lsof命令,如果對於端口8888,您看到類似TCP *:8888 (LISTEN)的東西,那麼您的服務器正在偵聽所有接口。但是如果你看到類似TCP [::127.0.0.1]:8888 (LISTEN)的東西,那麼你已經發現了你的問題!

下一步解決你的問題是設置服務器的運行配置監聽所有接口。我不知道你在使用什麼服務器,但是如果你可以指定一個IP地址,那麼你可能想嘗試0.0.0.0。通常,您可以在可以指定偵聽端口的位置附近執行此操作。因此,如果你有這樣的配置:

--port 8888

這時可以嘗試:

--port 8888 --address 0.0.0.0

0

在我看來,下面的點是開發者社區

我更重要我不是網絡專家;像我一樣,許多開發者可能在那裏。

在httpd.conf中更改爲0.0.0.0:80非常重要。

在正常(默認)設置,端口8888拋出WAMPSERVER錯誤(甚至在Windows瀏覽器)。這就是爲什麼我解釋了8888端口出錯的確切環境。

有關哪些配置會引發錯誤以及哪些配置成功運行的特定信息更爲重要。