D-Bus and Bonjour service discovery
hp at redhat.com
Wed Nov 22 15:43:12 PST 2006
Jamie McCracken wrote:
> It would make life a lot easier for me if a bus of some sort could be
> used externally. At some point I would like to do network searching
> using tracker (which currently only uses the session bus) but it would
> be quite mucky having to reimplement our dbus interfaces using a
> DBusServer in P2P mode just to make it network transparent.
> Im sure there's a whole load of groupware style desktop apps that would
> benefit from being able to use a simpler bus for machine to machine
> comms too without worrying about port addresses or having to use lower
> level code.
> Rather than use the system bus, would it not be better to have an
> additional "external bus", which can be run as non-root?
I suppose a per-machine "external bus" could listen on TCP, and apps
could connect to it to offer services to or from that machine. I would
agree though that it should be separate from the system bus.
It's easy to experiment with, it should not involve any dbus code
changes. Just create an external.conf config file and init scripts to
start the thing, then start figuring out how your app would use it and
how an app on another machine would discover it.
My guess is that e.g. you would use a service discovery protocol like
bonjour to list machines on the network that export an external dbus
daemon, then you can connect to the daemon on any given machine.
More information about the dbus