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

时间:2020-07-04 21:01:47

标签: java server client client-server serversocket

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

  • 服务器的IP地址不是静态的。

  • 我无法保存mac地址,然后从arp表检索IP地址,因为它将在不同的计算机上运行。

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

1 个答案:

答案 0 :(得分:1)

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

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

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

或使用OS命令或工具。

例如,在Windows上可能是

ipconfig /all

在Linux上可能是

hostname

hostnamectl

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

InetAddress.getByName("serverHostName").getHostAddress()
相关问题