Antecedentes:
Estou executando um servidor Linux em uma rede local que atua como servidor Web e como servidor central de comunicações. Este servidor se comunica com vários nós no sistema. Na inicialização do nó, o nó envia seu endereço IP para o servidor central de comunicações. No entanto, para saber o destino de onde enviar esse endereço IP, o nó precisa saber o endereço IP do servidor. Para resolver o servidor, fui direcionado para o uso do mDNS.
Parece que instalar o avahi no servidor permite o multicasting para o servidor Linux.
sudo apt-get install avahi-daemon
Em seguida, o nome do host do servidor pode ser alterado para onde o multicast resolverá o endereço IP do servidor para
hostname.local
Pergunta 1:
Os nós também precisam ter o avahi-daemon instalado para que esse esquema funcione? Em caso afirmativo, existe uma maneira de contornar isso ou habilitar o multicast para os nós de outra maneira. Eu estou hesitante porque não tenho certeza se o micro controlador tem a capacidade de instalar este daemon, já que o ESP8226 está sendo usado como o módulo WiFi. (Eu sei que o ESP8226 suporta mDNS, só não sei exatamente como).
Pergunta 2:
Se um usuário tentar acessar uma página no servidor da Web, ele poderá simplesmente digitar o nome do mDNS em um navegador para emitir a solicitação? Ou eles também precisam ter o daemon avahi instalado? Se for um computador windows tentando acessar o aplicativo, não posso garantir que eles terão essa funcionalidade integrada. Novamente, se for necessário, existe uma maneira de contornar a falta do daemon?
Atualização:
O ESP8226 suporta mDNS, no entanto o cliente mDNS não está embutido. Há, no entanto, uma biblioteca mDNS cliente para o ESP8226 aqui: link