Moja aplikacja wykorzystuje multicast wysłać sygnał nawigacyjny w okresach wraz z komunikatem i protokołu IP hosta dołączenie do grupy multicast. W urządzeniu z systemem Android wraca 127.0.0.1. Rozejrzałem się i okazało się, że wiele osób zasugerowało zmianę pliku hosta. Ale w przypadku Androida nie jest to możliwe w moim kontekście. Jak uzyskać prawdziwe IP urządzenia, a nie adresów sprzężenia zwrotnego ..InetAddress.getLocalHost(). GetHostAddress() zwraca 127.0.0.1 w Androidzie
private void getLocalAddress()
{
try {
String localHost = InetAddress.getLocalHost().getHostAddress();
servers.add(localHost);
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
na moim telefonie, chyba że jest uaktywniona Wi-Fi i są połączone z siecią Wi-Fi, to nie ma adresu IP. Jeśli nie ma lokalnego adresu, 'getLocalHost' zwraca adres sprzężenia zwrotnego, który otrzymujesz. –
@JoachimPileborg wypróbuj moją odpowiedź. Mam nadzieję, że rozwiąże to problem. – himanshu