NsdManager Classe

Definição

A classe Network Service Discovery Manager fornece a API para descobrir serviços em uma rede.

[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
Herança
NsdManager
Atributos

Comentários

A classe Network Service Discovery Manager fornece a API para descobrir serviços em uma rede. Por exemplo, se o dispositivo A e o dispositivo B estiverem conectados por uma rede Wi-Fi, um jogo registrado no dispositivo A poderá ser descoberto por um jogo no dispositivo B. Outro exemplo de caso de uso é um aplicativo descobrindo impressoras na rede.

Atualmente, a API dá suporte à descoberta de serviço baseada em DNS e a descoberta está atualmente limitada a uma rede local por DNS multicast. A descoberta do serviço DNS é descrita em http://files.dns-sd.org/draft-cheshire-dnsext-dns-sd.txt

A API é assíncrona e as respostas a solicitações de um aplicativo estão em retornos de chamada do ouvinte em um thread interno separado.

Há três operações principais compatíveis com a API : registro, descoberta e resolução.

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

Um aplicativo que precisa se anunciar em uma rede para que outros aplicativos descubram que ele pode fazer isso com uma chamada para #registerService. Se o Exemplo for um aplicativo baseado em http que pode fornecer dados HTML para serviços pares, ele poderá registrar um nome "Exemplo" com o tipo de serviço "_http._tcp". Um registro bem-sucedido é notificado com um retorno RegistrationListener#onServiceRegistered de chamada e uma falha no registro é notificada RegistrationListener#onRegistrationFailed

Um aplicativo par que procura serviços http pode iniciar uma descoberta para "_http._tcp" com uma chamada para #discoverServices. Um serviço encontrado é notificado com um retorno DiscoveryListener#onServiceFound de chamada e um serviço perdido é notificado.DiscoveryListener#onServiceLost

Depois que o aplicativo par descobrir o serviço http "Exemplo" e precisar ler os atributos do serviço ou quiser receber dados do aplicativo "Exemplo", ele poderá iniciar uma resolução para #resolveService resolver os atributos, o host e os detalhes da porta. Uma resolução bem-sucedida é notificada ResolveListener#onServiceResolved e uma falha é notificada.ResolveListener#onResolveFailed

Os aplicativos podem se reservar para um tipo de serviço em http://www.iana.org/form/ports-service. Os serviços existentes podem ser encontrados em http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml

Documentação Java para android.net.nsd.NsdManager.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usadas de acordo com os termos descritos na Licença de Atribuição Creative Commons 2.5.

Campos

Nome Description
ActionNsdStateChanged

Difunda a ação de intenção para indicar se a descoberta do serviço de rede está habilitada ou desabilitada.

ExtraNsdState

A chave de pesquisa de um int que indica se a descoberta do serviço de rede está habilitada ou desabilitada.

FailureAlreadyActive
Obsoleto.

Indica que a operação falhou porque já está ativa.

FailureBadParameters
Obsoleto.

Indica que o serviço não foi resolvido devido a parâmetros incorretos.

FailureInternalError
Obsoleto.

As falhas são passadas com RegistrationListener#onRegistrationFailed, RegistrationListener#onUnregistrationFailed, DiscoveryListener#onStartDiscoveryFailedDiscoveryListener#onStopDiscoveryFailedou ResolveListener#onResolveFailed.

FailureMaxLimit
Obsoleto.

Indica que a operação falhou porque o máximo de solicitações pendentes dos aplicativos atingiu.

FailureOperationNotRunning
Obsoleto.

Indica que a operação de parada falhou porque não está em execução.

NsdStateDisabled

A descoberta do serviço de rede está desabilitada

NsdStateEnabled

A descoberta do serviço de rede está habilitada

ProtocolDnsSd
Obsoleto.

Protocolo de descoberta de serviço baseado em Dns

Propriedades

Nome Description
Class

Retorna a classe de tempo de execução deste Object.

(Herdado de Object)
Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
JniIdentityHashCode

Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade.

(Herdado de Object)
JniManagedPeerState

A classe Network Service Discovery Manager fornece a API para descobrir serviços em uma rede.

(Herdado de JavaObject)
JniPeerMembers

A classe Network Service Discovery Manager fornece a API para descobrir serviços em uma rede.

PeerReference

Obtém a referência de objeto JNI para este par Java.

(Herdado de Object)
ThresholdClass

Essa API é compatível com a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

(Herdado de Object)
ThresholdType

Essa API é compatível com a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

(Herdado de Object)

Métodos

Nome Description
Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

A classe Network Service Discovery Manager fornece a API para descobrir serviços em uma rede.

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

A classe Network Service Discovery Manager fornece a API para descobrir serviços em uma rede.

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

A classe Network Service Discovery Manager fornece a API para descobrir serviços em uma rede.

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

A classe Network Service Discovery Manager fornece a API para descobrir serviços em uma rede.

DiscoverServices(String, NsdProtocol, NsdManager+IDiscoveryListener)

Inicie a descoberta de serviço para procurar instâncias de um tipo de serviço.

Dispose()

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
Dispose(Boolean)

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
DisposeUnlessReferenced()

A classe Network Service Discovery Manager fornece a API para descobrir serviços em uma rede.

(Herdado de JavaObject)
Equals(Object)

A classe Network Service Discovery Manager fornece a API para descobrir serviços em uma rede.

(Herdado de JavaObject)
Equals(Object)

Indica se algum outro objeto é "igual a" este.

(Herdado de Object)
GetHashCode()

Retorna um valor de código hash para o objeto.

(Herdado de Object)
JavaFinalize()

Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto.

(Herdado de Object)
Notify()

Ativa um único thread que está aguardando no monitor desse objeto.

(Herdado de Object)
NotifyAll()

Ativa todos os threads que estão aguardando no monitor deste objeto.

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

A classe Network Service Discovery Manager fornece a API para descobrir serviços em uma rede.

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

A classe Network Service Discovery Manager fornece a API para descobrir serviços em uma rede.

RegisterService(NsdServiceInfo, NsdProtocol, NsdManager+IRegistrationListener)

Registre um serviço a ser descoberto por outros serviços.

RegisterServiceInfoCallback(NsdServiceInfo, IExecutor, NsdManager+IServiceInfoCallback)

A classe Network Service Discovery Manager fornece a API para descobrir serviços em uma rede.

ResolveService(NsdServiceInfo, IExecutor, NsdManager+IResolveListener)

A classe Network Service Discovery Manager fornece a API para descobrir serviços em uma rede.

ResolveService(NsdServiceInfo, NsdManager+IResolveListener)

Resolver um serviço descoberto.

SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle

(Herdado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

A classe Network Service Discovery Manager fornece a API para descobrir serviços em uma rede.

(Herdado de JavaObject)
StopServiceDiscovery(NsdManager+IDiscoveryListener)

Parar a descoberta de serviço iniciada com M:Android.Net.Nsd.NsdManager.DiscoverServices(System.String, Android.Net.Nsd.NsdProtocol,Android.Net.Nsd.NsdProtocol).

StopServiceResolution(NsdManager+IResolveListener)

A classe Network Service Discovery Manager fornece a API para descobrir serviços em uma rede.

ToArray<T>()

Cria uma matriz gerenciada com base nesse wrapper de matriz Java.

(Herdado de Object)
ToString()

Retorna uma representação de cadeia de caracteres do objeto.

(Herdado de Object)
UnregisterFromRuntime()

Cancela o registro desse par Java do runtime de interoperabilidade.

(Herdado de Object)
UnregisterService(NsdManager+IRegistrationListener)

Cancelar o registro de um serviço registrado por meio M:Android.Net.Nsd.NsdManager.RegisterService(Android.Net.Nsd.NsdServiceInfo,Android.Net.Nsd.NsdProtocol,Android.Net.NsdProtocol).

UnregisterServiceInfoCallback(NsdManager+IServiceInfoCallback)

A classe Network Service Discovery Manager fornece a API para descobrir serviços em uma rede.

Wait()

Faz com que o thread atual aguarde até que seja despertado, normalmente sendo <notificado></em> ou <em>interrompido</em>.

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que seja ativado, normalmente sendo <notificado></em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que seja ativado, normalmente sendo <notificado></em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)

Implantações explícitas de interface

Nome Description
IJavaPeerable.Disposed()

A classe Network Service Discovery Manager fornece a API para descobrir serviços em uma rede.

(Herdado de JavaObject)
IJavaPeerable.Finalized()

A classe Network Service Discovery Manager fornece a API para descobrir serviços em uma rede.

(Herdado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

A classe Network Service Discovery Manager fornece a API para descobrir serviços em uma rede.

(Herdado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

A classe Network Service Discovery Manager fornece a API para descobrir serviços em uma rede.

(Herdado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

A classe Network Service Discovery Manager fornece a API para descobrir serviços em uma rede.

(Herdado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

A classe Network Service Discovery Manager fornece a API para descobrir serviços em uma rede.

(Herdado de JavaObject)

Métodos de Extensão

Nome Description
GetJniTypeName(IJavaPeerable)

Obtém o nome JNI do tipo da instância self.

JavaAs<TResult>(IJavaPeerable)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo verificada pelo tempo de execução do Android.

JavaCast<TResult>(IJavaObject)

A classe Network Service Discovery Manager fornece a API para descobrir serviços em uma rede.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

Aplica-se a