8

对于我的 Android 应用程序,用户需要连接到将托管在同一 LAN 中某处的服务器。在同一个 LAN 上可以托管多个服务器。为了方便用户,我打算扫描 Android 设备连接到的当前 LAN,然后列出所有运行服务器的网络设备,而不是让用户将 IP 输入计算机手动。

我对网络还很陌生,经过一番搜索,我发现我必须使用多播 DNS 搜索或 UDP 广播来检测其他设备。我还找到了一个名为 jmDNS 的不错的库,尽管我发现它上面的文档和示例代码非常少。有人可以指出我正在努力做的事情以节省我浪费的时间(主要是如果我走在正确的轨道上)的正确方向吗?我假设我必须稍微修改我的服务器才能广播它?如果我将 IP 手动输入到我的应用程序的配置页面中,它会完全按预期工作。此外,这只需要发现 Windows 计算机,不确定这是否重要。提前致谢。

4

2 回答 2

7

嗯,jmDNS 是一个完整的 Java 库,您可以使用它进行设置。它可用于广播您的服务,其他客户端可以搜索。

Windows 上的 Bounjour 服务有点棘手,尽管这绝对是可能的。我想说的更简单的方法是使用 jmDNS 为您的服务器和客户端进行广播和发现。

于 2011-07-22T17:50:09.420 回答
0

您可以在局域网上运行 jDM 或其他服务作为后台服务或守护进程。

于 2012-11-21T20:08:59.753 回答