KDNSSD

Network service discovery using Zeroconf

Introduction

KDNSSD is a library for handling the DNS-based Service Discovery Protocol (DNS-SD), the layer of Zeroconf that allows network services, such as printers, to be discovered without any user intervention or centralized infrastructure.

If you are writing an application that wants to discover services on the network, use KDNSSD::ServiceBrowser. You can also find available service types using ServiceTypeBrowser.

If you want to announce the availability of a service provided by your application, use KDNSSD::PublicService.

KDNSSD::DomainBrowser allows you to find domains (other than the local one) recommended for browsing or publishing to.

Note that KDNSSD::ServiceBrowser::isAvailable() provides information about the availability of the services provided by this library generally, not just for browsing services.

More information

More information about DNS-SD can be found in the online documentation for Apple's implementation of Zeroconf, Bonjour.

Using the Module

Using a KDE module's C++ API requires linking against the module library. The preferred way of consuming the library is through CMake.

Building with CMake

Use the find_package() command to locate the needed module component in the KF6 package:

 find_package(KF6 REQUIRED COMPONENTS DNSSD)
 target_link_libraries(mytarget PRIVATE KF6::DNSSD)

For more details, see the Build with CMake overview.

API Reference