You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@river.apache.org by Simon IJskes - QCG <si...@qcg.nl> on 2012/01/18 10:49:23 UTC

mdns discovery

I would like to integrate mdns discovery into the reggie. I've done some 
work with jmdns, and i'm thinking about forking it into our own 
codebase. Like org.apache.river.jmdns for instance. There are some 
methods in the jmdns implementation i would like to deprecated or 
remove, but still make it possible to merge back changes we make to the 
original project.

Peter, you've also done some research into mdns, did you come up with 
other usable implementations for mdns?

Gr. Sim

-- 
QCG, Software voor het MKB, 071-5890970, http://www.qcg.nl
Quality Consultancy Group b.v., Leiderdorp, Kvk Den Haag: 28088397

Re: mdns discovery

Posted by Simon IJskes - QCG <si...@qcg.nl>.
On 18-01-12 12:21, Dan Creswell wrote:
> I've spent quite a lot of time messing around with jmdns and my view
> is is it's almost unserviceable.
>
> For starters, it's not compatible with more recent changes introduced
> in OS X, falling down uselessly as opposed to merely dropping what it
> doesn't understand.
>
> For second, it has lousy resource handling and poor threading behaviours.
>
> I would love to integrate mdns into River, jmdns however in my opinion
> is not the way to go.

Ok, that doesn't look well. Do you have a list of bugs that you have 
collected? There are some bugs in jmdns, which i've overcome right now, 
the multiinterface issues for instance. It did not reregister old 
services when a IPv6 address dropped and a new one was generated. There 
is a sequence specific way to talk to it. :) I stopped using the 
'comfort' methods provided bij the mmdns class. What issues does it have 
with OSX?

Gr. Sim

-- 
QCG, Software voor het MKB, 071-5890970, http://www.qcg.nl
Quality Consultancy Group b.v., Leiderdorp, Kvk Den Haag: 28088397

Re: mdns discovery

Posted by Dan Creswell <da...@gmail.com>.
I've spent quite a lot of time messing around with jmdns and my view
is is it's almost unserviceable.

For starters, it's not compatible with more recent changes introduced
in OS X, falling down uselessly as opposed to merely dropping what it
doesn't understand.

For second, it has lousy resource handling and poor threading behaviours.

I would love to integrate mdns into River, jmdns however in my opinion
is not the way to go.

On 18 January 2012 09:49, Simon IJskes - QCG <si...@qcg.nl> wrote:
> I would like to integrate mdns discovery into the reggie. I've done some
> work with jmdns, and i'm thinking about forking it into our own codebase.
> Like org.apache.river.jmdns for instance. There are some methods in the
> jmdns implementation i would like to deprecated or remove, but still make it
> possible to merge back changes we make to the original project.
>
> Peter, you've also done some research into mdns, did you come up with other
> usable implementations for mdns?
>
> Gr. Sim
>
> --
> QCG, Software voor het MKB, 071-5890970, http://www.qcg.nl
> Quality Consultancy Group b.v., Leiderdorp, Kvk Den Haag: 28088397

Re: mdns discovery

Posted by Peter Firmstone <ji...@zeus.net.au>.
Simon IJskes - QCG wrote:
> I would like to integrate mdns discovery into the reggie. I've done 
> some work with jmdns, and i'm thinking about forking it into our own 
> codebase. Like org.apache.river.jmdns for instance. There are some 
> methods in the jmdns implementation i would like to deprecated or 
> remove, but still make it possible to merge back changes we make to 
> the original project.
>
> Peter, you've also done some research into mdns, did you come up with 
> other usable implementations for mdns?
>
> Gr. Sim
>
I didn't really investigate Multicast DNS, mostly just DNS-SRV 
Discovery, I still plan to implement that in combination with UDT.

However DNS-SRV based discovery could be made to work with both.

Basically you use DNS to discover the ip address and port, then use 
UnicastDiscovery to get the registrar proxy.

So you could make Reggie advertise itself using DNS multicast.

There's an interface:

com.sun.jini.discovery.DiscoveryFormatProvider, which allows you to plug 
in different multicast discovery providers.

There are other interfaces in the same package for discovery providers 
to implement.

So you can probably implement a provider then configure Reggie to use it.

Cheers,

Peter.