23

我将为 iOS 和 Android 创建一个无服务器的本地网络应用程序。iOS 和 Android 设备中的应用程序应该相互发现并相互交谈。

我知道有平台内置服务(从 v4.1 开始是 iOS 中的 Bonjour 和 Android 中的 NSD),此外,还可以使用开箱即用的开源jmdns包。

我不知道如何选择,它们的兼容性如何。

我的问题是:

  1. Android NSD(网络服务发现)是否与 iOS 中的 Bonjour 兼容?我应该在我的应用程序中使用什么来进行服务发现。
  2. 如果我还为应用程序开发 PC 版本,是否需要使用第三方库?
4

1 回答 1

18

我开发了类似的项目。让我回答你的问题:

  1. 是的。官方的示例代码应该可以让你快速上手。实现服务发现的功能非常容易。只有两个步骤:使用相关回调设置发现侦听器,以及对 discoverServices() 进行单个异步 API 调用。
  2. 如果使用第三方库,优点:可以让你的应用在Android 4.1以下运行;<strong>缺点:开发服务发现功能会比较复杂。因为你需要编写一个后台服务来收听网络上的广播。
于 2014-01-22T09:36:19.417 回答