如何从位于不同设备但连接在同一网络上的客户端获取服务器的ipv4?

时间:2017-02-28 21:50:44

标签: java android sockets networking

我正在尝试在我的电脑和Android手机之间建立(所有时间)连接。到目前为止,我已经能够这样做了,但是当连接到clien例如socket = new Socket("server ipv4 here", 999);时,我必须手动输入服务器的ipv4地址。但是,当网络配置发生变化时,ip地址也会发生变化,我必须转到cmd并使用ipconfig命令找到新服务器的ip。例如,假设我的计算机(服务器)通过以太网和我的手机(客户端)通过WiFi连接,我使用以太网IP将我的客户端连接到服务器。然后,如果我通过WiFi连接我的服务器,ip将会改变,因此无法建立客户端 - 服务器连接。如果我将计算机和手机同时移动到不同的网络中,也会发生这种情况。

所以我的问题是,有没有办法从同一网络下的客户端获取服务器IP?

这是我试图做的但是失败

InetAddress address = InetAddress.getByName("Computer/server host name");
socket = new Socket(address, 999);`

其中"计算机/服务器主机名"是在服务器计算机上调用InetAddress.getLocalHost().getHostName();时获得的主机名。

谢谢!

0 个答案:

没有答案