[Development] Requesting New Repository - QtZeroConf
drwho at infidigm.net
drwho at infidigm.net
Thu Sep 10 17:55:33 CEST 2015
>
> On Sep 10, 2015, at 12:05, Konstantin Tokarev <annulen at yandex.ru> wrote:
>
>>
>>
>> 10.09.2015, 00:56, "Jonathan Bagg" <drwho at infidigm.net>:
>>> Project name: QtZeroConf
>>>
>>> Project description:
>>> QtZeroConf is a wrapper class for various mDNS discovery libraries
>>> across
>>> multiple platforms:
>>>
>>> Linux -> Avahi-client
>>> Android -> Avahi-core or Android Network Discovery Service
>>> Embedded -> Avahi-core
>>> MAC -> Apple's Bonjour
>>> iOS -> Apple's Bonjour
>>> Window -> Apple's Bonjour
>>>
>>> Responsible persons: Jonathan Bagg
>>>
>>> (playgound unless suggested otherwise)
>>> Desired repository name: playground/qtzeroconf
>>
>>
>> Does SSDP (UPnP) discovery fit into this project?
>
> Maybe we should call the module something more generic like
> QtServiceDiscovery. Zeroconf can be used to discover both devices and
> services, but a service on a device is the more specific thing of
> interest, right?
I would say "discover devices that advertise a specific service"
> Zeroconf also covers self-assigning a network address if there is no DHCP
> server, but thatÂ’s irrelevant to this module, I suppose. (e.g. dhcpcd
> does that if it times out while trying to find a DHCP server)
>
> There are many attempts to come up with a less centralized alternative to
> DNS. (namecoin, ipfs, various other projects using the DHT concept, even
> the magnet links used for bittorrent, etc) So, maybe one of those would
> be in scope some day too. Again the goal would be to map a well-known
> name to some sort of URI which identifies a service, or a specific file.
I'm ok with this project being called QtServiceDiscovery,
QtNetworkServiceDiscovery or similar if someone wants to work on the other
protocols. I can only commit to the zeroconf wrappers.
With multiple protocol support, I guess a parameter to the constructor to
specify the protocol? I've tried to keep things simple. Service
advertisement example:
QZeroConf zeroConf;
zeroConf.registerService("Vaction-Tracker-server", "_vactracker._tcp",
"local", "", SRV_PORT);
(discovery is just a little more complicated with a signal emitted for
each resolved service/device)
zeroconf / bonjour has a feature called text records that let apps put
arbitrary text fields in their service advertisement. I don't think SSDP,
SLP, or LLMNR support this, so I'm not sure how this zeroconf feature
would be handled in the abstract case.
Jon
More information about the Development
mailing list