Поделиться через


DnssdServiceInstance Класс

Определение

Инкапсулирует экземпляр службы, которая использует обнаружение службы DNS (DNS-SD).

Примечание

API-интерфейсы обнаружения служб DNS Win32 (DNS-SD) объявляются в заголовке windns.h. Например, API Win32 для объявления и обнаружения служб : DnsServiceRegister и DnsServiceBrowse.

public ref class DnssdServiceInstance sealed : IStringable
/// [Windows.Foundation.Metadata.Activatable(Windows.Networking.ServiceDiscovery.Dnssd.IDnssdServiceInstanceFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DnssdServiceInstance final : IStringable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(Windows.Networking.ServiceDiscovery.Dnssd.IDnssdServiceInstanceFactory, 65536, "Windows.Foundation.UniversalApiContract")]
class DnssdServiceInstance final : IStringable
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Networking.ServiceDiscovery.Dnssd.IDnssdServiceInstanceFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class DnssdServiceInstance : IStringable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Networking.ServiceDiscovery.Dnssd.IDnssdServiceInstanceFactory), 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class DnssdServiceInstance : IStringable
function DnssdServiceInstance(dnssdServiceInstanceName, hostName, port)
Public NotInheritable Class DnssdServiceInstance
Implements IStringable
Наследование
Object Platform::Object IInspectable DnssdServiceInstance
Атрибуты
Реализации

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)

Комментарии

Используйте этот класс, если вы предоставляете службу, которая объявляет себя другим пользователям DNS-SD, или если вы используете службы, объявленные через DNS-SD.

Если код пытается зарегистрировать экземпляр службы с тем же именем, что и ранее зарегистрированная служба, служба будет переименована, чтобы избежать конфликта, добавив число в скобках в конце указанного имени. Например, если вы указали "mygame" и это имя уже зарегистрировано для другой службы, ваша служба будет переименована в "mygame (2)". После этого dnssdRegistrationResult.HasInstanceNameChanged имеет значение true.

Конструкторы

DnssdServiceInstance(String, HostName, UInt16)

Создает новый объект DnssdServiceInstance с указанным именем экземпляра, именем узла и портом.

Свойства

DnssdServiceInstanceName

Возвращает или задает имя экземпляра службы DNS-SD для этого dnssdServiceInstance.

HostName

Возвращает или задает имя узла для этого dnssdServiceInstance.

Port

Возвращает или задает номер порта, используемый этим dnssdServiceInstance.

Priority

Возвращает или задает значение приоритета, присваиваемое этому экземпляру службы, как определено в RFC 2782 A DNS RR для указания расположения служб (DNS SRV). Клиенты используют приоритет , чтобы решить, к какому из нескольких эквивалентных экземпляров службы следует подключить.

TextAttributes

Возвращает атрибуты данного экземпляра службы в виде списка пар строк [имя, значение]. Атрибуты могут проверяться клиентами служб, чтобы определить дополнительные сведения об экземпляре службы.

Имена и значения атрибутов, используемые службой, определяются конструктором службы. Например, экземпляр службы для многопользовательской игры может иметь атрибуты, описывающие, какую карту игры использует экземпляр, или уровень сложности игры экземпляра. Различные экземпляры службы будут активны для различных карт или уровней сложности, и клиент, использующий игровой сервис, может использовать значения атрибутов, чтобы определить, к какому экземпляру игрового сервера подключиться для предпочтительной карты или уровня сложности игрока.

Weight

Возвращает или задает весовое значение, назначенное этому экземпляру службы, как определено в RFC 2782. Клиенты используют значение Weight для выбора между серверами с одинаковым значением приоритета .

Методы

RegisterDatagramSocketAsync(DatagramSocket)

Асинхронно регистрирует прослушиватель сокета datagram (UDP) для службы в заданном сокете.

RegisterDatagramSocketAsync(DatagramSocket, NetworkAdapter)

Асинхронно регистрирует прослушиватель сокета datagram (UDP) для службы в заданном сокете и сетевом адаптере.

RegisterStreamSocketListenerAsync(StreamSocketListener)

Асинхронно регистрирует прослушиватель сокета потока (TCP) для службы в заданном сокете.

RegisterStreamSocketListenerAsync(StreamSocketListener, NetworkAdapter)

Асинхронно регистрирует прослушиватель сокета потока (TCP) для службы на заданном сокете и сетевом адаптере.

ToString()

Возвращает запись ресурса DNS-сервера (SRV RR) этого экземпляра службы в виде строки.

Дополнительные сведения о том, как клиенты и серверы DNS-SD используют эти записи, см. в статье ДОМЕННЫЕ ИМЕНА RFC DNS-Based 1034 — ОСНОВНЫЕ ПОНЯТИЯ И СРЕДСТВА, сведения о том, как используются клиенты и серверы DNS-SD.

Применяется к

См. также раздел