2013-05-31 2 views
0

Я попытался получить IP-адрес моего компьютера двумя разными способами. Первым способом было просто Google ip address. Второй путь был запустить следующий код в Java:конфликт IP-адреса в java

public class YourIPAddress { 

public static void main(String[] args) { 

    InetAddress ip; 
    try { 

    ip = InetAddress.getLocalHost(); 
    System.out.println(ip); 
    System.out.println("Current IP address : " + ip.getHostAddress()); 

    } catch (UnknownHostException e) { 

    e.printStackTrace(); 

    } 

} 

} 

Google возвращает 50.90.142.29 в то время как Java возвращает 192.168.0.11. Почему этот конфликт в IP-адресах?

+1

Один внешний IP-адрес маршрутизатора. Другой - IP-адрес вашего компьютера в локальной сети. –

+0

Добро пожаловать в прекрасный мир NAT - [Трансляция сетевых адресов] (https://en.wikipedia.org/wiki/Network_address_translation), к которому относятся практически все жилые и многие бизнес-сети. – rolfl

ответ

1

192.160.0.11 является частным/внутренний адрес IP, а 50.90.142.29 является публичной/внешний адрес IP

+0

Какой частный IP-адрес будет адресом моего маршрутизатора? http://whatismyipaddress.com/private-ip –

+1

Частный адрес вашего маршрутизатора, скорее всего, 192.168.0.1. 192.168.0.11, скорее всего, частный ip вашего компьютера – Stanley

+0

, а затем еще один вопрос о применении этого (причина, по которой я задаю этот вопрос): если вы создаете программу для пользователя, который передает данные на ваш компьютер, не могли бы вы (клиенту) необходимо знать их частный или публичный IP-адрес? Если публикация, как бы вы, на Java, получили такую ​​информацию как можно проще? –

Смежные вопросы