22

I will create a server-less local networking App for iOS and Android. the App in both iOS and Android devices should find out and talk to each other.

I know that there are platform built-in services (which are Bonjour in iOS and NSD in Android since v4.1), in addition, a open source jmdns package can be used out of the box as well.

I don't know how to choose and how is their compatibility.

My questions are:

  1. Is Android NSD (network service discovery) compatible with Bonjour in iOS? What should I use for service discovery in my App.
  2. Do I need to use third-party lib if i also develop PC version for the App?
Henry Leu
  • 2,066
  • 4
  • 15
  • 32

1 Answers1

18

I developed similar project. Let me answer your questions:

  1. Yes. The official sample code should be able to make your quick start. Implement the function of service discovery is very easy. Only two steps: setting up a discovery listener with the relevant callbacks, and making a single asynchronous API call to discoverServices().
  2. If you use the third-party library, Advantage: It can make your application works below Android 4.1;Disadvantage: Developing the function of service discovery would more complex. Because of you need write a background service to listen to broadcasts on the network.
Daniel Liu
  • 449
  • 3
  • 5
  • Do you have PC version of your app? how to implement service discovery in your PC version of app? – Henry Leu Jan 22 '14 at 09:51
  • 1
    On windows platform, we used [Apple Bonjour SDK](https://developer.apple.com/bonjour/). On Linux, we used [Avahi](http://avahi.org/). FYI. – Daniel Liu Jan 22 '14 at 12:42