NsdManager Clase

Definición

La clase Network Service Discovery Manager proporciona la API para detectar servicios en una red.

[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
Herencia
NsdManager
Atributos

Comentarios

La clase Network Service Discovery Manager proporciona la API para detectar servicios en una red. Por ejemplo, si el dispositivo A y el dispositivo B están conectados a través de una red de Wi-Fi, un juego registrado en el dispositivo A se puede detectar mediante un juego en el dispositivo B. Otro caso de uso de ejemplo es una aplicación que detecta impresoras en la red.

Actualmente, la API admite la detección y detección de servicios basados en DNS se limita a una red local a través de DNS de multidifusión. La detección de servicios DNS se describe en http://files.dns-sd.org/draft-cheshire-dnsext-dns-sd.txt

La API es asincrónica y las respuestas a las solicitudes de una aplicación se encuentran en devoluciones de llamada del agente de escucha en un subproceso interno independiente.

Hay tres operaciones principales que admite la API: registro, detección y resolución.

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

Una aplicación que necesita anunciarse a través de una red para otras aplicaciones para detectarlo puede hacerlo con una llamada a #registerService. Si Example es una aplicación basada en HTTP que puede proporcionar datos HTML a servicios del mismo nivel, puede registrar un nombre "Example" con el tipo de servicio "_http._tcp". Se notifica un registro correcto con una devolución de llamada a RegistrationListener#onServiceRegistered y se notifica un error al registrarse. RegistrationListener#onRegistrationFailed

Una aplicación del mismo nivel que busca servicios http puede iniciar una detección para "_http._tcp" con una llamada a #discoverServices. Se notifica a un servicio con una devolución de llamada a DiscoveryListener#onServiceFound y se notifica a un servicio perdido en DiscoveryListener#onServiceLost.

Una vez que la aplicación del mismo nivel detecta el servicio http "Ejemplo" y necesita leer los atributos del servicio o desea recibir datos de la aplicación "Ejemplo", puede iniciar una resolución con #resolveService para resolver los atributos, el host y los detalles del puerto. Se notifica una resolución correcta y se notifica ResolveListener#onServiceResolved un error en ResolveListener#onResolveFailed.

Las aplicaciones pueden reservarse para un tipo de servicio en http://www.iana.org/form/ports-service. Los servicios existentes se pueden encontrar en http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml

Java documentación para android.net.nsd.NsdManager.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Campos

Nombre Description
ActionNsdStateChanged

Acción de intención de difusión para indicar si la detección de servicios de red está habilitada o deshabilitada.

ExtraNsdState

Clave de búsqueda de un valor int que indica si la detección de servicios de red está habilitada o deshabilitada.

FailureAlreadyActive
Obsoletos.

Indica que se produjo un error en la operación porque ya está activo.

FailureBadParameters
Obsoletos.

Indica que el servicio no se ha podido resolver debido a parámetros incorrectos.

FailureInternalError
Obsoletos.

Los errores se pasan con RegistrationListener#onRegistrationFailed, RegistrationListener#onUnregistrationFailed, DiscoveryListener#onStartDiscoveryFailedDiscoveryListener#onStopDiscoveryFailed o ResolveListener#onResolveFailed.

FailureMaxLimit
Obsoletos.

Indica que se produjo un error en la operación porque se han alcanzado las solicitudes pendientes máximas de las aplicaciones.

FailureOperationNotRunning
Obsoletos.

Indica que se produjo un error en la operación de detención porque no se está ejecutando.

NsdStateDisabled

La detección de servicios de red está deshabilitada

NsdStateEnabled

La detección de servicios de red está habilitada

ProtocolDnsSd
Obsoletos.

Protocolo de detección de servicios basados en Dns

Propiedades

Nombre Description
Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
JniIdentityHashCode

Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad.

(Heredado de Object)
JniManagedPeerState

La clase Network Service Discovery Manager proporciona la API para detectar servicios en una red.

(Heredado de JavaObject)
JniPeerMembers

La clase Network Service Discovery Manager proporciona la API para detectar servicios en una red.

PeerReference

Obtiene la referencia de objeto JNI para este Java del mismo nivel.

(Heredado de Object)
ThresholdClass

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

(Heredado de Object)
ThresholdType

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

(Heredado de Object)

Métodos

Nombre Description
Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

La clase Network Service Discovery Manager proporciona la API para detectar servicios en una red.

(Heredado de JavaObject)
DiscoverServices(DiscoveryRequest, IExecutor, NsdManager+IDiscoveryListener)

La clase Network Service Discovery Manager proporciona la API para detectar servicios en una red.

DiscoverServices(String, NsdProtocol, Network, IExecutor, NsdManager+IDiscoveryListener)

La clase Network Service Discovery Manager proporciona la API para detectar servicios en una red.

DiscoverServices(String, NsdProtocol, NetworkRequest, IExecutor, NsdManager+IDiscoveryListener)

La clase Network Service Discovery Manager proporciona la API para detectar servicios en una red.

DiscoverServices(String, NsdProtocol, NsdManager+IDiscoveryListener)

Inicie la detección de servicios para buscar instancias de un tipo de servicio.

Dispose()

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
Dispose(Boolean)

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
DisposeUnlessReferenced()

La clase Network Service Discovery Manager proporciona la API para detectar servicios en una red.

(Heredado de JavaObject)
Equals(Object)

La clase Network Service Discovery Manager proporciona la API para detectar servicios en una red.

(Heredado de JavaObject)
Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
GetHashCode()

Devuelve un valor de código hash del objeto.

(Heredado de Object)
JavaFinalize()

Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto .

(Heredado de Object)
Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
RegisterService(AdvertisingRequest, IExecutor, NsdManager+IRegistrationListener)

La clase Network Service Discovery Manager proporciona la API para detectar servicios en una red.

RegisterService(NsdServiceInfo, NsdProtocol, IExecutor, NsdManager+IRegistrationListener)

La clase Network Service Discovery Manager proporciona la API para detectar servicios en una red.

RegisterService(NsdServiceInfo, NsdProtocol, NsdManager+IRegistrationListener)

Registre un servicio que otros servicios detectarán.

RegisterServiceInfoCallback(NsdServiceInfo, IExecutor, NsdManager+IServiceInfoCallback)

La clase Network Service Discovery Manager proporciona la API para detectar servicios en una red.

ResolveService(NsdServiceInfo, IExecutor, NsdManager+IResolveListener)

La clase Network Service Discovery Manager proporciona la API para detectar servicios en una red.

ResolveService(NsdServiceInfo, NsdManager+IResolveListener)

Resuelva un servicio detectado.

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

La clase Network Service Discovery Manager proporciona la API para detectar servicios en una red.

(Heredado de JavaObject)
StopServiceDiscovery(NsdManager+IDiscoveryListener)

Detener la detección de servicios iniciada con M:Android.Net.Nsd.NsdManager.DiscoverServices(System.String,Android.Net.Nsd.NsdProtocol,Android.Net.Nsd.Nsd.NsdProtocol).

StopServiceResolution(NsdManager+IResolveListener)

La clase Network Service Discovery Manager proporciona la API para detectar servicios en una red.

ToArray<T>()

Crea una matriz administrada a partir de este contenedor de matriz Java.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto.

(Heredado de Object)
UnregisterFromRuntime()

Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad.

(Heredado de Object)
UnregisterService(NsdManager+IRegistrationListener)

Anular el registro de un servicio registrado a través de M:Android.Net.Nsd.NsdManager.RegisterService(Android.Net.Nsd.NsdServiceInfo,Android.Net.Nsd.Nsd.NsdProtocol,Android.Net.Nsd.Nsd.NsdProtocol).

UnregisterServiceInfoCallback(NsdManager+IServiceInfoCallback)

La clase Network Service Discovery Manager proporciona la API para detectar servicios en una red.

Wait()

Hace que el subproceso actual espere hasta que se despierta, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><>

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)

Implementaciones de interfaz explícitas

Nombre Description
IJavaPeerable.Disposed()

La clase Network Service Discovery Manager proporciona la API para detectar servicios en una red.

(Heredado de JavaObject)
IJavaPeerable.Finalized()

La clase Network Service Discovery Manager proporciona la API para detectar servicios en una red.

(Heredado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

La clase Network Service Discovery Manager proporciona la API para detectar servicios en una red.

(Heredado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

La clase Network Service Discovery Manager proporciona la API para detectar servicios en una red.

(Heredado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

La clase Network Service Discovery Manager proporciona la API para detectar servicios en una red.

(Heredado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

La clase Network Service Discovery Manager proporciona la API para detectar servicios en una red.

(Heredado de JavaObject)

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

La clase Network Service Discovery Manager proporciona la API para detectar servicios en una red.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a