在本地网络上查找服务器 ip 地址
Find server ip address on local network
我写了一个简单的服务器-客户端软件,运行在本地网络 /24 (255.255.255.0) 上,我不知道 IP 地址更改时如何找到它。
服务器的ip地址不是静态的
我无法保存 mac 地址,然后从 arp table 中检索 IP 地址,因为它会 运行 在不同的 mac海因斯。
客户端找到正确 IP 地址的唯一方法是尝试整个范围,直到连接被接受?
您可以使用服务器的 hostname 而不是 IP。当 IP 更改时,主机名应保持不变。
您可以通过多种方式建立主机名。以编程方式:
String hostName = InetAddress.getLocalHost().getHostName();
或者使用 OS 命令或工具。
例如,在 Windows 上可能是
ipconfig /all
在 Linux 上可能是
hostname
或
hostnamectl
一旦您知道了主机名,您就可以使用它来建立连接。或者,您也可以在本地网络中的任何客户端上以编程方式获取服务器的 IP。在 Java 中,您可以使用以下代码:
InetAddress.getByName("serverHostName").getHostAddress()
我写了一个简单的服务器-客户端软件,运行在本地网络 /24 (255.255.255.0) 上,我不知道 IP 地址更改时如何找到它。
服务器的ip地址不是静态的
我无法保存 mac 地址,然后从 arp table 中检索 IP 地址,因为它会 运行 在不同的 mac海因斯。
客户端找到正确 IP 地址的唯一方法是尝试整个范围,直到连接被接受?
您可以使用服务器的 hostname 而不是 IP。当 IP 更改时,主机名应保持不变。
您可以通过多种方式建立主机名。以编程方式:
String hostName = InetAddress.getLocalHost().getHostName();
或者使用 OS 命令或工具。
例如,在 Windows 上可能是
ipconfig /all
在 Linux 上可能是
hostname
或
hostnamectl
一旦您知道了主机名,您就可以使用它来建立连接。或者,您也可以在本地网络中的任何客户端上以编程方式获取服务器的 IP。在 Java 中,您可以使用以下代码:
InetAddress.getByName("serverHostName").getHostAddress()