DnssdServiceInstance 类

定义

封装使用 DNS 服务发现 (DNS-SD) 的服务实例。

注意

Win32 DNS 服务发现 (DNS-SD) API 在 windns.h 标头中声明。 例如,用于宣布和发现服务的 Win32 API 是 DnsServiceRegisterDnsServiceBrowse

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

获取或设置此 DnssdServiceInstance 的 DNS-SD 服务实例名称。

HostName

获取或设置此 DnssdServiceInstance 的主机的主机名。

Port

获取或设置此 DnssdServiceInstance 使用的端口号。

Priority

获取或设置要分配给此服务实例的优先级值,如 RFC 2782 A DNS RR 中定义,用于指定服务的位置 (DNS SRV) 。 客户端使用 Priority 决定要附加到多个等效服务实例中的哪一个。

TextAttributes

获取此服务实例的属性,作为字符串的 [name, value] 对的列表。 服务客户端可以检查属性,以确定有关服务实例的其他信息。

服务使用的特定属性名称和值由服务的设计器确定。 例如,多人游戏的服务实例可能具有描述实例正在使用的游戏映射或实例的游戏难度级别的属性。 不同的服务实例将针对不同的地图或难度级别处于活动状态,使用游戏服务的客户端可以使用属性值来确定要连接到玩家首选地图或难度级别的游戏服务器实例。

Weight

获取或设置分配给此服务实例的权重值,如 RFC 2782 中定义。 客户端使用 Weight 值在 优先级 值相同的服务器之间进行选择。

方法

RegisterDatagramSocketAsync(DatagramSocket)

在给定套接字上为服务异步注册 (UDP) 套接字侦听器的数据报。

RegisterDatagramSocketAsync(DatagramSocket, NetworkAdapter)

在给定的套接字和网络适配器上为服务异步注册 (UDP) 套接字侦听器的数据报。

RegisterStreamSocketListenerAsync(StreamSocketListener)

在给定套接字上为服务异步注册流 (TCP) 套接字侦听器。

RegisterStreamSocketListenerAsync(StreamSocketListener, NetworkAdapter)

在给定的套接字和网络适配器上为服务异步注册 (TCP) 套接字侦听器的流。

ToString()

获取此服务实例的 DNS 服务器资源记录 (SRV RR) ,作为字符串。

有关 DNS SRV RR 的格式和内容,请参阅 RFC 1034 域名 - 概念和设施 ;有关 DNS-SD 客户端和服务器如何使用这些记录的详细信息,请参阅 RFC 2782RFC 6763 DNS-Based服务发现

适用于

另请参阅