DnssdServiceInstance クラス

定義

DNS サービス探索 (DNS-SD) を使用するサービスのインスタンスをカプセル化します。

Note

Win32 DNS Service Discovery (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.HasInstanceNameChangedtrue に設定されます。

コンストラクター

DnssdServiceInstance(String, HostName, UInt16)

指定したインスタンス名、ホスト名、ポートを使用して、新しい DnssdServiceInstance オブジェクトを作成します。

プロパティ

DnssdServiceInstanceName

この DnssdServiceInstance の DNS-SD サービス インスタンス名を取得または設定します。

HostName

この DnssdServiceInstance のホストのホスト名を取得または設定します。

Port

この DnssdServiceInstance で使用されるポート番号を取得または設定します。

Priority

サービスの場所 (DNS SRV) を指定するための RFC 2782 A DNS RR で定義されているように、このサービス インスタンスに割り当てる優先度の値を取得または設定します。 クライアントは Priority を使用して、アタッチする同等のサービス インスタンスを決定します。

TextAttributes

文字列の [名前、値] ペアの一覧として、このサービス インスタンスの属性を取得します。 属性は、サービス クライアントによって検査され、サービス インスタンスに関する追加情報を特定できます。

サービスによって使用される特定の属性名と値は、サービスのデザイナーによって決定されます。 たとえば、マルチプレイヤー ゲームのサービス インスタンスには、インスタンスが使用しているゲーム マップを記述する属性や、インスタンスのゲームの難易度を記述する属性が含まれている場合があります。 マップや難易度レベルごとに異なるサービス インスタンスがアクティブになり、ゲーム サービスを使用するクライアントは属性値を使用して、プレーヤーの優先マップまたは難易度レベルに接続するゲーム サーバー インスタンスを決定できます。

Weight

RFC 2782 で定義されているように、このサービス インスタンスに割り当てられる重み値を取得または設定します。 クライアントは 、重みの 値を使用して、同じ Priority 値を持つサーバーを選択します。

メソッド

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 Service Discovery を参照してください。

適用対象

こちらもご覧ください