DnssdServiceInstance クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
DNS サービス探索 (DNS-SD) を使用するサービスのインスタンスをカプセル化します。
Note
Win32 DNS Service Discovery (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 |
サービスの場所 (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 2782 と RFC 6763 DNS-Based Service Discovery を参照してください。 |