Не удается получить доступ к localhost с устройства Android
Эмулятор может получить доступ к веб-службе с локального хоста, но мое реальное устройство не может, хотя я использую IP-адрес локальной сети (192.168.xx.yyy) вместо 10.0.2.2. Конечно, мой мобильный Android был распознан adb, и он подключил мой ноутбук через USB-порт.
Я уже читал некоторые подобные вопросы в stackru, но все еще не знал, как получить доступ к веб-сервису с реального мобильного телефона Android. Ответ на этот вопрос Как я могу получить доступ к своему локальному хосту с моего устройства Android? может быть полезным, но я не очень понимаю этот ответ.
Кто-нибудь помогает мне? Спасибо вам!
3 ответа
Возможно, веб-сервер прослушивает петлевой интерфейс, но не сетевой интерфейс. Это означает, что хиты на 127.0.0.1
а также localhost
будет работать, но 192.168.xxx.xxx
не будет (будь то с локального хоста, локальной сети или глобальной сети).
Чтобы определить, какой интерфейс прослушивает сервер, найдите здесь команду, которая расскажет вам о портах прослушивания (я использовал 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.0.0.0:80 в httpd.conf очень важно.
При обычных (стандартных) настройках порт 8888 выдает ошибку в WAMPSERVER (даже в браузере Windows). Вот почему я объяснил точную среду, в которой порт 8888 выдает ошибку.
Более важна конкретная информация о том, какая конфигурация выдает ошибку и какая конфигурация работает успешно.
Вы пытались использовать Wi-Fi роутер, который подключен к вашей локальной сети? Тогда вам просто нужно подключиться к Wi-Fi с помощью мобильного телефона, и вы должны иметь доступ (192.168.xx.yyy)