Como posso cancelar o registro de um serviço com o dns-sd?

1

Estou tentando usar a ferramenta de linha de comando "dns-sd" em minha máquina com Windows 7.

Eu já posso fazer alguma coisa. Por exemplo, posso registrar um serviço usando "dns-sd -R ...". Eu também posso navegar (ver) serviços registrados usando "dns-sd -B ...". O que eu ainda sinto falta é como cancelar o registro de um serviço.

No momento em que digito "dns-sd -R ..." o dns-sd não me retorna ao prompt de comando. Para retornar ao prompt de comando, preciso pressionar Ctrl-C. E o serviço fica registrado até que eu pressione Ctrl-C.

O que eu quero é executar "dns-sd -R ..." no regime de segundo plano e, em seguida, gostaria de ter a possibilidade de cancelar o registro de um serviço na linha de comando.

Mais uma coisa que eu não entendo ainda é o que "procurar um serviço" significa. Na minha foto, deve ser suficiente registrar um serviço, vê-lo e depois cancelá-lo. Mas aparentemente eu preciso procurar um serviço. O que significa e por que preciso fazer isso?

ADICIONADO: Como é perguntado, eu esclareci. Refiro-me à ferramenta de linha de comando "dns-sd" que uso no Windows 7. Acho que esse comando faz parte do software Bonjour para Windows (da Apple). Bem, eu não verifiquei se eu tinha este comando antes de instalar o Bonjour, mas presumo que não o tenha. Então, minha pergunta é sobre esse comando.

    
por Roman 09.03.2010 / 12:47

2 respostas

1

Não está claro para mim exatamente o que você está tentando realizar, mas parece que você está usando a ferramenta errada. O dns-sd é uma ferramenta de teste de linha de comando para DNS Multicast e Descoberta de Serviço DNS (DNS-SD). A finalidade da Descoberta de Serviço DNS, como o nome indica, é anunciar os serviços de rede. As operações do DNS-SD são as seguintes:

Enumerar :

Descubra os domínios de navegação e registro configurados na máquina host. ".local" sempre será retornado, os domínios da área ampla (por exemplo: example.com) também estarão disponíveis:

  • dns-sd -E

Navegar:

Procure instâncias de serviço (opcionalmente, em um domínio específico):

  • dns-sd -B _http._tcp
  • dns-sd -B _http._tcp dns-sd.org

Resolver:

Resolve uma instância de serviço (conforme retornada por Browse) para um host e porta para conectar-se a um registro de texto contendo qualquer parâmetro específico do serviço:

  • dns-sd -L \ *\ Google,\ searching\ the\ Web _http._tcp dns-sd.org

Registre-se:

Registra uma instância de serviço para que possa ser pesquisada e resolvida por outros clientes que estejam navegando em um determinado domínio.

  • dns-sd -R Example _http._tcp local 80

Você pode ser mais específico sobre o que está tentando realizar?

    
por 10.03.2010 / 00:04
0

A forma como o cancelamento de registro de um serviço é tratado com o daemon mDNS da Apple é que, ao registrar um serviço, o processo de registro é fornecido com um descritor de serviço e esse descritor é necessário para cancelar o registro do serviço. Isso significa que normalmente apenas o processo que registra a informação necessária para cancelar o registro. Um processo não pode iniciar e cancelar o registro de um serviço que esse processo não registrou em primeiro lugar.

Um motivo para esse design é que o processo que está fornecendo o serviço também deve ser responsável por registrar e cancelar o registro, o que garante que o status do registro de serviço seja sincronizado com a disponibilidade real do serviço.

Ao usar o dns-sd para fazer um registro de proxy, o processo continua em execução para que, quando você fechá-lo, esse processo possa fazer o cancelamento de registro adequado. Se você precisar de registro de serviço de longa duração, será necessário que o processo dns-sd seja de longa duração. O Launchd pode ser usado para gerenciar isso no OS X.

One more thing which I do not understand yet is what "to look up a service" means. In my picture it should be sufficient to register a service, to see it and then to unregister it. But apparently I need to look up a service. What does it mean and why I need to do it?

A navegação por serviços apenas informa quais instâncias de serviço existem; Ele não fornece informações suficientes para realmente se conectar e usá-los. Para usar um serviço, você pega o nome amigável descoberto pela navegação e "consulta" ou "resolve" a instância do serviço. Isso informa as informações adicionais necessárias para se conectar a ele: o host, o número da porta, etc.

Isso reduz o tráfego (os dados adicionais podem ser relativamente grandes, portanto, você não deseja obtê-los para cada instância de serviço) e também separa nomes de instância de serviço estáveis dos dados de conexão de instância de serviço possivelmente menos estáveis, semelhantes a como nomes de host e os endereços IP são desacoplados.

    
por 27.01.2016 / 22:03