Если ваше Java-приложение работает на компьютере, подключенном к Интернету, оно уже имеет доступную службу DNS и уже имеет хотя бы один IP-адрес, видимый для других компьютеров в вашей локальной сети.Используйте код Java, подобный тому, что я написал ниже, чтобы получить IP-адрес.
import java.net.*;
import java.io.*;
public class Ip {
public static void main ( String[] args ) throws IOException {
String hostname = args[0];
try {
InetAddress ipaddress = InetAddress.getByName(hostname);
System.out.println("IP address: " + ipaddress.getHostAddress());
} catch ( UnknownHostException e ) {
System.out.println("Could not find IP address for: " + hostname);
}
}
}
PS.если IP-адрес компьютера, на котором вы запускаете приложение Java-сервера, меняется (он работает на домашнем компьютере, а Интернет-провайдер назначает динамический IP-адрес), используйте бесплатный сервис, такой как http://www.dyndns.com или аналогичный.В этом случае это немного усложняется, потому что вы должны сообщить вашему динамическому DNS об изменении IP.Некоторые маршрутизаторы имеют встроенную функцию, некоторые нет.В этом случае вы должны убедиться, что dynamicDNS информирован.В Интернете есть множество сценариев, которые делают это для вас (обычно для Linux / UNIX), и есть несколько бесплатных инструментов для Windows.Я никогда не делал этого на Windows, но я сделал это с Linux, и это прекрасно работает.