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