android - 网络设备发现

标签 android networking device discovery jmdns

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

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

最佳答案

好吧,jmDNS 是一个完整的 Java 库,您可以将其用于您的设置。它可以用来广播您的服务,其他客户可以搜索到。

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

关于android - 网络设备发现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6792130/

相关文章:

android - URL链接Cardboard和youtube Android

android - Android-设置Google Play服务和Firebase-Gradle构建错误

Android - SMS BroadcastReceiver 在模拟器上工作但不在电话上

c# - 确定互联网连接是否可用

以编程方式配置网络规划

objective-c - 在设备上测试应用程序什么都不做

iphone - 寻找有关 Apple MFi 计划注册流程的经验

android - Auth0用户登录日志中的pwd_leak是什么意思

java - 使用 java 获取可移植设备

android - 使用 Ion 覆盖 HostnameVerifier