Primeiro, o que exatamente Bonjour faz (por favor, leia minhas suposições escritas abaixo)?
Aqui descobri que o Bonjour permite a descoberta automática de computadores, dispositivos e serviços em redes IP. Mas pensei que não apenas "descobre dispositivos na rede IP", como também cria uma rede IP atribuindo endereços IP a dispositivos nos quais o Bonjour está sendo executado. Estou certo?E ainda sinto falta da essência. Funciona da seguinte maneira? Primeiro, conecto dispositivos (por exemplo, laptops) fisicamente para que eles possam se comunicar. Então, digamos, em alguns laptops, tenho o Bonjour em execução e, como conseqüência, esses laptops atribuem endereços IP a eles mesmos de maneira automática. Assim, os laptops (onde Bonjour está sendo executado) constroem uma rede IP. Funciona dessa maneira?
Ou pode ser que um computador executando o Bonjour não seja considerado um serviço e não seja transmitido apenas porque o Bonjour está sendo executado neste computador. Quero dizer que os aplicativos executados nos computadores precisam usar o Bonjour para se transmitir. Portanto, são os aplicativos que se transmitem (não os computadores) e isso não é feito automaticamente (o aplicativo precisa se transmitir explicitamente). Está certo?
Como exatamente meu aplicativo pode se transmitir? Posso usar a linha de comando para registrar um serviço (para que todos os aplicativos que usam Bonjour saibam que um novo serviço apareceu)?
Além disso, eu gostaria de ter um aplicativo que use a rede IP criada por Bonjour. Para isso, meu aplicativo precisa saber quais dispositivos / serviços estão presentes na rede. Em mais detalhes, meu aplicativo precisa ter uma lista de serviços. Cada serviço na lista deve ter um nome, o endereço IP em que está sendo executado e a porta usada pelo aplicativo. Bonjour pode fornecer essas informações de alguma forma? Se for o caso, como exatamente funciona. Como meu programa pode obter essas informações do Bonjour? Meu programa pode ler algum arquivo criado por Bonjour e contendo as informações acima mencionadas? Posso usar alguns comandos na linha de comando para recuperar essas informações?
Tenho um interesse especial em acessar as informações sobre serviços de arquivos, variáveis de ambiente ou comandos na linha de comando. Essas opções me parecem as mais simples! Como nesse caso, não preciso usar nenhuma biblioteca adicional para me comunicar com Bonjour a partir de uma linguagem de programação específica.
Por favor, faça perguntas se algo não estiver claro na minha pergunta. Vou tentar formular minha pergunta de uma maneira mais clara.
PPS Eu uso o Windows 7 .
ADICIONADO: pretendo escrever meus aplicativos em PHP. Todo computador deve executar um servidor web Apache. E quero usar o Bonjour para ajudar o computador a se descobrir (os computadores estão trabalhando em uma rede local).