abarisain / dmix

A modern MPD Client for Android.
Apache License 2.0
590 stars 205 forks source link

add multicast DNS support #576

Open danielrobbins opened 10 years ago

danielrobbins commented 10 years ago

I use multicast DNS on my home network. Apparently, since Android 4.1, there are APIs for multicast DNS but they don't seem to be active unless there is some application support for it. Please add support to this, as it's handy on a home network with no DNS server.

abarisain commented 10 years ago

This is planned ! I would mark this as a duplicate since it has been extensively requested, but I cant' find the bugs.

By the way : Connecting via the hostname/zeroconf hostname "xxx.local" should be supported by android. We just lack the autodetection

lazka commented 10 years ago

hostname.local doesn't seem to be supported, I just tried with the latest mpdroid beta and it can't connect.

see https://code.google.com/p/android/issues/detail?id=19550

abarisain commented 10 years ago

My bad, you're right.

I can't really implement this manually though. I mean I most likely could but there are two sides to multicast DNS, and what we're targeting to implement is the service discovery. DNS resolving such as "xxx.local" is in my opinion the OS's dns resolver's responsibility

lazka commented 10 years ago

I agree.

Thanks for mpdroid btw

danielrobbins commented 9 years ago

mpd has a "zeroconf" option. When enabled, it advertises its services, and you should be able to pick these up using the Android service discovery API (http://developer.android.com/reference/android/net/nsd/NsdManager.html) . On my network, avahi-browse -ar prints out:

= eth0 IPv6 Music Player Music Player Daemon local hostname = [node.local] address = [fe80::4813:1b31:4f34:7851] port = [6600] txt = [] = eth0 IPv4 Music Player Music Player Daemon local hostname = [node.local] address = [192.168.0.146] port = [6600] txt = []

avuton commented 9 years ago

Agree, this should (and most likely will) get implemented. The real issue is there's no one really motivated to refactor the connection code, which really needs to happen first. I'm kinda signed up to do it, but every time I try, everything breaks (with every time, my motivation decreases). With that said, it's going to probably happen, regardless, but if someone (experienced) wanted to write some clean connection code it would probably happen a lot faster.

danielrobbins commented 9 years ago

I'm installing Android Studio and will see what I can do in the next week or so.

avuton commented 9 years ago

OK, the backend code for this is finally getting cleaned up and fixed. The first half of it will be submitted once I find one last regression, the second half (the actual fix) will take a couple of months to complete (hopefully). Basically, I do know the code that needs changing, it's more or less getting the time and getting in the books enough to get the code completed. Once the foundation is done, I'm fairly sure the UI side of things will happen fairly swiftly.

Ghostbird commented 8 years ago

Any ETA on this? Actually, is anyne still working on it? It's a shame Android doesn't run a service discovery my default.

mdeff commented 7 years ago

hostname.local do resolve for me.Thanks for MPDroid! Hopefully we'll have multi-server and zeroconf one day. ;)