mafintosh / polo

Polo is a zero configuration service discovery module written completely in Javascript.
MIT License
246 stars 20 forks source link

What is the service type that polo is working on? #15

Open willemmulder opened 9 years ago

willemmulder commented 9 years ago

When I try to detect the Polo-published devices with other ZeroConf discovery tools, what service type should I be listening for?

BorisKourt commented 9 years ago

I am also interested in this!

willemmulder commented 9 years ago

What I see is that ZeroConf/Bonjour uses UDP Multicast on IP 224.0.0.251 with port 5353, while the Polo by default uses UDP Multicast on IP 224.0.0.234 with port 60547.

So they do not match up at least in that respect. I think the two will probably not be able to find each other.

While it is possible to set a different port in the polo() constructor, it is not possible to specify a different multicast address. So Polo would need some changes there. Let me see if I can make a small start.

willemmulder commented 9 years ago

Let's see if we can achieve interoperability :-)

willemmulder commented 9 years ago

The Polo protocol and the Bonjour protocol are quite different from each other.

I've written a bonjour-message parser in nodejs to see just how difficult it would be to fully support Bonjour, but I must say that I didn't get all the edge cases right.

If anybody would be interested, I can put it up on github, so we could get the thing working correctly, and then see how far we get to merge it into Polo.

mafintosh commented 9 years ago

I just open sourced this, https://github.com/mafintosh/multicast-dns - a pure js low level version of mdns (bonjour) in case anyone in this thread is interested in integrating it

willemmulder commented 9 years ago

Excellent! This really helps :-) I had been working on that as well, but your version seems much more robust.

BorisKourt commented 9 years ago

Thanks! I will take a look and try it out :)