DnssdServiceInstance 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
封装使用 DNS 服务发现 (DNS-SD) 的服务实例。
注意
Win32 DNS 服务发现 (DNS-SD) API 在 windns.h 标头中声明。 例如,用于宣布和发现服务的 Win32 API 是 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
- 继承
- 属性
- 实现
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 2782 和 RFC 6763 DNS-Based服务发现 。 |