Я пытался создать http-сервер на моем Android.APK отлично работает на моем реальном устройстве.Я получаю IP-адрес следующим образом:
Enumeration<NetworkInterface> enumNetworkInterfaces = NetworkInterface.getNetworkInterfaces();
while (enumNetworkInterfaces.hasMoreElements()) {
NetworkInterface networkInterface = enumNetworkInterfaces.nextElement();
Enumeration<InetAddress> enumInetAddress = networkInterface.getInetAddresses();
while (enumInetAddress.hasMoreElements()) {
InetAddress inetAddress = enumInetAddress.nextElement();
if (inetAddress.isSiteLocalAddress()) {
ip += "SiteLocalAddress: " + inetAddress.getHostAddress() + "\n";
}
}
}
Он работает на моем реальном устройстве.В браузере я могу получить к нему доступ, введя указанный выше IP-адрес (например, 192.168.1.21:8888)
Но если я запускаю код на моем эмуляторе.Он показывает больше IP-адресов, некоторые из них похожи на MAC-адреса, а некоторые похожи на нормальные адреса (но они разные): Например,
192.168.232.2
и
192.168.200.2: 8888
Затем я попытался получить доступ к обоим в браузере, но через некоторое время при загрузке выдается сообщение об ошибке "Этот сайт недоступенMsgstr ""
Я попытался переадресовать порт на adb forward tcp:8888 tcp:8888
, но не повезло.Я также попробовал 10.0.2.2:8888
, но, возможно, это неправильно, потому что это похоже на пересылку с эмулятора на локальный ПК, а не наоборот ... Итак ... что я сделал не так?
Спасибо за ваше время
РЕДАКТИРОВАТЬ: после проверки монитора ресурсов, порт 8888 в настоящее время adb.exe