如果您的
Java应用程序在Internet上的计算机上运行,则它已经具有可用的DNS服务,并且LAN中的其他计算机已经至少有一个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.如果您运行Java服务器应用程序的计算机的IP正在更改(它在家庭计算机上运行并且ISP分配动态IP),则使用像http://www.dyndns.com或类似的免费服务.在这种情况下,它会变得有点复杂,因为您必须通知动态DNS IP更改.有些路由器内置了此功能,有些则没有.在这种情况下,您必须确保通知dynamicDNS. Internet上有许多脚本可以为您执行此操作(通常用于Linux / UNIX),并且有一些适用于Windows的免费工具.我从来没有在Windows上这样做过,但是我用Linux做过它并且效果很好.