NsdManager クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ローカル ネットワーク上のネットワーク サービスを検出およびアドバタイズするための API を提供します。
[Android.Runtime.Register("android/net/nsd/NsdManager", DoNotGenerateAcw=true)]
public sealed class NsdManager : Java.Lang.Object
[<Android.Runtime.Register("android/net/nsd/NsdManager", DoNotGenerateAcw=true)>]
type NsdManager = class
inherit Object
- 継承
- 属性
注釈
Network Service Discovery Manager クラスは、ネットワーク上のサービスを検出するための API を提供します。 たとえば、デバイス A とデバイス B が Wi-Fi ネットワーク経由で接続されている場合、デバイス A に登録されているゲームは、デバイス B 上のゲームによって検出できます。もう 1 つのユース ケースは、ネットワーク上のプリンターを検出するアプリケーションです。
現在、この API は DNS ベースのサービス検出をサポートしており、検出は現在、マルチキャスト DNS 経由のローカル ネットワークに制限されています。 DNS サービスの検出については、 http://files.dns-sd.org/draft-cheshire-dnsext-dns-sd.txt
API は非同期であり、アプリケーションからの要求への応答は、別の内部スレッドのリスナー コールバックにあります。
API でサポートされる 3 つの主要な操作 (登録、検出、解決) があります。
Application start
|
|
| onServiceRegistered()
Register any local services /
to be advertised with \
registerService() onRegistrationFailed()
|
|
discoverServices()
|
Maintain a list to track
discovered services
|
|--------->
| |
| onServiceFound()
| |
| add service to list
| |
|<----------
|
|--------->
| |
| onServiceLost()
| |
| remove service from list
| |
|<----------
|
|
| Connect to a service
| from list ?
|
resolveService()
|
onServiceResolved()
|
Establish connection to service
with the host and port information
他のアプリケーションが検出するためにネットワーク経由で自身をアドバタイズする必要があるアプリケーションは、 #registerServiceの呼び出しでこれを行うことができます。 Example がピア サービスに HTML データを提供できる http ベースのアプリケーションの場合は、サービスの種類 "_http._tcp" に名前 "Example" を登録できます。 登録が成功すると、 RegistrationListener#onServiceRegistered するコールバックが通知され、登録の失敗が通知されます。 RegistrationListener#onRegistrationFailed
http サービスを探しているピア アプリケーションは、 #discoverServicesの呼び出しで "_http._tcp" の検出を開始できます。 見つかったサービスは DiscoveryListener#onServiceFound するコールバックで通知され、失われたサービスは DiscoveryListener#onServiceLostに通知されます。
ピア アプリケーションが "Example" http サービスを検出し、サービスの属性を読み取る必要があるか、"Example" アプリケーションからデータを受信する必要がある場合は、 #resolveService を使用して解決を開始して、属性、ホスト、ポートの詳細を解決できます。 正常な解決は ResolveListener#onServiceResolved に通知され、エラーは ResolveListener#onResolveFailedに通知されます。
アプリケーションは、次のサービスの種類を予約できます。 http://www.iana.org/form/ports-service. 既存のサービスは、次の場所にあります。 http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
フィールド
| Name | 説明 |
|---|---|
| ActionNsdStateChanged |
ネットワーク サービスの検出が有効か無効かを示すブロードキャスト インテント アクション。 |
| ExtraNsdState |
ネットワーク サービスの検出が有効か無効かを示す int の参照キー。 |
| FailureAlreadyActive |
古い.
操作が既にアクティブであるために失敗したことを示します。 |
| FailureBadParameters |
古い.
パラメーターが正しくないため、サービスの解決に失敗したことを示します。 |
| FailureInternalError |
古い.
エラーは、 |
| FailureMaxLimit |
古い.
アプリケーションからの未処理の要求の最大数に達したため、操作が失敗したことを示します。 |
| FailureOperationNotRunning |
古い.
停止操作が実行されていないために失敗したことを示します。 |
| FailurePermissionDenied |
古い.
呼び出し元に必要なアクセス許可がないため、操作が失敗したことを示します。 |
| NsdStateDisabled |
ネットワーク サービスの検出が無効になっている |
| NsdStateEnabled |
ネットワーク サービスの検出が有効になっている |
| ProtocolDnsSd |
古い.
Dns ベースのサービス検出プロトコル |
| ServicePermissionDenied |
古い.
呼び出し元がサービス情報コールバックの登録またはサービスの解決を許可されていないことを示します。 |
| ServicePermissionGranted |
古い.
呼び出し元がサービス情報コールバックを登録したり、サービスを解決したりできることを示します。 |
プロパティ
| Name | 説明 |
|---|---|
| Class |
この |
| Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
| JniIdentityHashCode |
相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。 (継承元 Object) |
| JniManagedPeerState |
ローカル ネットワーク上のネットワーク サービスを検出およびアドバタイズするための API を提供します。 (継承元 JavaObject) |
| JniPeerMembers |
ローカル ネットワーク上のネットワーク サービスを検出およびアドバタイズするための API を提供します。 |
| PeerReference |
このJava ピアの JNI オブジェクト参照を取得します。 (継承元 Object) |
| ThresholdClass |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 (継承元 Object) |
| ThresholdType |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 (継承元 Object) |
メソッド
明示的なインターフェイスの実装
| Name | 説明 |
|---|---|
| IJavaPeerable.Disposed() |
ローカル ネットワーク上のネットワーク サービスを検出およびアドバタイズするための API を提供します。 (継承元 JavaObject) |
| IJavaPeerable.Finalized() |
ローカル ネットワーク上のネットワーク サービスを検出およびアドバタイズするための API を提供します。 (継承元 JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
ローカル ネットワーク上のネットワーク サービスを検出およびアドバタイズするための API を提供します。 (継承元 JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
ローカル ネットワーク上のネットワーク サービスを検出およびアドバタイズするための API を提供します。 (継承元 JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
ローカル ネットワーク上のネットワーク サービスを検出およびアドバタイズするための API を提供します。 (継承元 JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
ローカル ネットワーク上のネットワーク サービスを検出およびアドバタイズするための API を提供します。 (継承元 JavaObject) |
拡張メソッド
| Name | 説明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
ローカル ネットワーク上のネットワーク サービスを検出およびアドバタイズするための API を提供します。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|