IP-адрес возвращаются разные по локальной сети и ZONG 4G - PullRequest
0 голосов
/ 31 декабря 2018

IP-адреса возвращаются по-разному в локальной сети и ZONG 4G.

Я хочу знать IP-адреса клиентов в Java-приложении, чтобы я мог ограничить пользователей для входа в систему и других ролей.Но проблема в том, что, когда я запускаю приведенный ниже код в локальной сети, он возвращает правильный адрес IPV4, но если я подключаю устройство Zong 4G, он возвращает только 192.168.10.100 на любом компьютере.

Как получить IP-адрес клиента?

Мой код:

InetAddress address = InetAddress.getLocalHost();
String ip = address.getHostAddress();
String host = address.getHostName();

System.out.println("IP Address = " + ip);
System.out.println("host= " + host);

1 Ответ

0 голосов
/ 31 декабря 2018

192.168.10.100 означает, что ваш клиент находится за NAT.Есть вещь под названием UPnP , которая может вам помочь (я не эксперт и не совсем уверена).

Альтернативный подход - подключиться к серверу и спросить его, каков ваш IP.Это также имеет ограничение, клиенты за одним и тем же NAT будут иметь одинаковый IP-адрес.

Вообще безопасность здания на основе IP-адреса - плохая идея.

...