对于我的Android应用,用户需要连接到将在同一LAN上的某个位置托管的服务器。可以在同一LAN上托管多个服务器。为了方便用户,我打算扫描Android设备所连接的当前LAN,然后列出所有运行服务器的网络设备,而不是让用户将IP输入到计算机手动。
我对网络很新,经过一些搜索,我发现我必须使用多播DNS搜索或UDP广播来检测其他设备。我还找到了一个很好的库jmDNS,虽然我发现它上面的文档和示例代码很少。有人能指出我正在朝着正确的方向努力,以节省我浪费的时间(主要是因为我在正确的轨道上)?我假设我将不得不修改我的服务器以广播它在那里?如果我手动将IP输入到我的应用程序的配置页面,它完全按预期工作。此外,这只需要发现Windows计算机,不确定是否重要。提前谢谢。
答案 0 :(得分:7)
嗯,jmDNS是一个完整的Java库,可以用于您的设置。它可用于广播您的服务,其他客户可以搜索。
Windows上的Bounjour服务有点棘手,虽然它绝对有可能。我想说的更简单的方法是使用jmDNS进行服务器和客户端的广播和发现。
答案 1 :(得分:0)
您可以在局域网上运行jDM或其他服务作为后台服务或dameon。