Network Service Discovery
You can use 2 different protocols to perform network service discoveries to announce local services and search for remote services on a network: DNS-SD (DNS Service Discovery) and SSDP (Simple Service Discovery Protocol).
The main features of the Tizen.Network.Nsd namespace includes the following:
-
Managing local services
Registering a local service announces it over the network, allowing other devices to find and use it. You can create and register local services through the Tizen.Network.Nsd.DnssdService and Tizen.Network.Nsd.SsdpService classes, which both implement the Tizen.Network.Nsd.INsdService interface, follow these steps to create and register services:
- For the DNS-SD services, you can retrieve service details, such as name, type, port number, and IP address, through related properties. You can also add a text record after registering the service, and set the key and value of the record. To remove a record, use its key.
- For the SSDP services, you can retrieve service details, such as name, target, and URL.
-
Discovering remote services
You can search for remote services on the network through the Tizen.Network.Nsd.DnssdBrowser and Tizen.Network.Nsd.SsdpBrowser classes, which both implement the Tizen.Network.Nsd.INsdBrowser interface. You can also receive notifications when a service is found by registering an event handler for the
ServiceFound
event of the applicable class.
Prerequisites
To enable your application to use the network service discovery functionality, follow these steps:
-
To use the Tizen.Network.Nsd namespace, the application has to request permission by adding the following privilege to the
tizen-manifest.xml
file:XMLCopy<privileges> <privilege>http://tizen.org/privilege/internet</privilege> </privileges>
-
To make your application visible in the official site for Tizen applications only for devices that support the DNS-SD and SSDP protocols, the application must specify the following features in the
tizen-manifest.xml
file:XMLCopy<feature name="http://tizen.org/feature/network.service_discovery.dnssd"/> <feature name="http://tizen.org/feature/network.service_discovery.ssdp"/>
-
To use the methods and properties of the Tizen.Network.Nsd namespace, include it in your application:
C#Copyusing Tizen.Network.Nsd;
Register local services
To register and deregister a local DNS-SD service, follow these steps:
-
Register a service by creating a new instance of the Tizen.Network.Nsd.DnssdService class and using its
RegisterService()
method:C#Copy/// Register service INsdService service = new DnssdService("_http._tcp"); DnssdService dnssdService = (DnssdService)service; dnssdService.RegisterService();
-
Deregister the service by using the
DeregisterService()
method.When the
Tizen.Network.Nsd.DnssdService
class instance is no longer needed, destroy it with theDispose()
method:C#Copy/// Deregister service dnssdService.DeregisterService(); dnssdService.Dispose();
Discover remote services
To discover remote DNS-SD services, follow these steps:
-
Start discovery by creating a new instance of the Tizen.Network.Nsd.DnssdBrowser class and using its
StartDiscovery()
method:C#Copy/// Start discovery INsdBrowser browser = new DnssdBrowser("_http._tcp"); DnssdBrowser dnssdBrowser = (DnssdBrowser)browser; dnssdBrowser.StartDiscovery();
-
When you have found the services you need, stop discovery by using the
StopDiscovery()
method.When the
Tizen.Network.Nsd.DnssdBrowser
class instance is no longer needed, destroy it with theDispose()
method:C#Copy/// Stop discovery dnssdBrowser.StopDiscovery(); dnssdBrowser.Dispose();
Related information
- Dependencies
- Tizen 4.0 and Higher