在 LAN Java / Android 中查找确切的设备

Finding exact device in the LAN Java / Android

我正在开发一个 Java 应用程序,它应该使用套接字侦听计算机上的特定端口。 另一个应用程序将在 Android 设备上 运行 连接到同一个 WiFi,应该使用我的 Java 程序找到这台计算机。

如何找到网络中的计算机?

我在小型 LAN 中尝试过(所有设备都连接到 192.168.*.*)使用 InetAddress.getByName(ipAddress).isReachable(); 但在较大的网络中(如 eduroam 或我学校的 WiFi)我无法扫描整个网络。

除了使用套接字和扫描整个网络之外,还有其他方法可以将两个设备相互连接吗?

我不确定我是否理解您的整个系统要求,但我认为您可以在托管站点(例如 this)创建一个非常小的数据库并让您的 PC 定期上传其私有该数据库的 IP 地址。

然后,当您需要连接到 android 设备上的 PC 时,查询数据库并确定 PC 的当前地址,然后连接到设备。