I\'m trying to implement JmDNS discovery for communication between an Android app and a desktop application. I have followed the following tutorial: http://home.heeere.com/tech-
Use JmDNS.create(InetAddress addr, String name)
instead of JmDNS.create()
. In more recent versions of Android, JmDNS needs to know more about the local device and the network interface it is listening on.
JmDNS jmdns; // somewhere global
// In a background thread
public void buildJmDNS() {
InetAddress addr = InetAddress.getLocalHost();
String hostname = InetAddress.getByName(addr.getHostName()).toString();
try {
jmdns = JmDNS.create(addr, hostname); // throws IOException
} catch (IOException e) {
e.printStackTrace(); // handle this if you want
}
}
I had the same issue you are experiencing and this solved it for me. I have tried to find the example I had found that shows why this is necessary, but I cannot.