在本地网络上查找服务器 ip 地址

Find server ip address on local network

我写了一个简单的服务器-客户端软件,运行在本地网络 /24 (255.255.255.0) 上,我不知道 IP 地址更改时如何找到它。

客户端找到正确 IP 地址的唯一方法是尝试整个范围,直到连接被接受?

您可以使用服务器的 hostname 而不是 IP。当 IP 更改时,主机名应保持不变。

您可以通过多种方式建立主机名。以编程方式:

 String hostName = InetAddress.getLocalHost().getHostName();

或者使用 OS 命令或工具。

例如,在 Windows 上可能是

ipconfig /all

在 Linux 上可能是

hostname

hostnamectl

一旦您知道了主机名,您就可以使用它来建立连接。或者,您也可以在本地网络中的任何客户端上以编程方式获取服务器的 IP。在 Java 中,您可以使用以下代码:

InetAddress.getByName("serverHostName").getHostAddress()