Как эмулятор Android может добраться до сервера в локальной сети? - PullRequest
0 голосов
/ 08 января 2019

Я хочу подключиться к серверу в моей локальной сети (10.134.0.178:80). IP-адрес моей машины 10.134.3.12, а IP-адрес эмулятора Wi-Fi - 192.168.232.2.

Теперь я обнаружил, что вы должны использовать 10.0.2.2 для подключения к серверу на вашей локальной машине. Но сервер не работает на моей локальной машине - вместо этого это отдельное устройство в моей локальной сети.

Моя локальная машина может без проблем связаться и пропинговать сервер. Эмулятора нет, но у эмулятора есть доступ в интернет. Так что я могу получить доступ, например, www.google.com .

Как подключить эмулятор к серверу? Показанные правила перенаправления применяются только на уровне порта. Так как же это использовать? Другие решения говорят только о локальном сервере. Только один говорит о подобном случае, но это не работает для меня (нет связи)

netsh interface portproxy add v4tov4 listenport=80 connectport=80 connectaddress=10.134.0.178

Кроме того, я должен переключать экземпляры сервера (разные ips / ports / address). Так как же в этом случае использовать эмулятор Android? На какой адрес следует звонить через веб-сервис? 10.0.2.2 или 10.134.0.178?

Ответы [ 2 ]

0 голосов
/ 08 января 2019

Не знаю, в чем причина, но наиболее вероятная причина - временная проблема на сервере. Теперь я могу подключиться к своему серверу без дальнейших изменений!

Одна вещь, которая все еще не работала для меня, была ping, но она перечислена в Ограничения локальной сети :

В зависимости от среды, эмулятор может не поддерживать другие протоколы (например, ICMP, используемый для «ping»). В настоящее время эмулятор не поддерживает IGMP или многоадресную рассылку.

0 голосов
/ 08 января 2019

Хммм, ваше Android-приложение должно подключаться к адресу / порту сервера, как это выглядит на хост-машине, на которой запущен эмулятор Android. У меня есть веб-сервер в локальной сети, и мой эмулятор может получить к нему доступ напрямую. Начните с указания Chrome в вашем эмуляторе на веб-сервер в вашей локальной сети (при условии, что у вас он там есть) - если сервер находится на 10.134.0.178:80, то просто введите 10.134.0.178 в адресную строку Chrome. Если это не работает, вам нужно посмотреть, что мешает - какие-либо правила перенаправления мешают?

...