Scénario. Nous avons un produit qui contrôle une sorte de produit ménager. Depuis 2015, il exécute également un petit serveur web afin que les habitants de la maison puissent contrôler le produit à l'aide de leur téléphone. Tout se passe sur un réseau wifi et le produit a un nom local, disons, productx.local. Dans ce scénario, les habitants de la maison ne savent rien des DNS, IP, configurations de routeurs, etc, etc. Ils achètent le produit, le connectent et il devrait fonctionner.
Si je comprends bien, avec un téléphone Android, je ne peux pas accéder au produit avec le nom local, mais je dois utiliser son adresse IP ! Cela me semble étrange. Cela signifie-t-il que les services fournis par le produit doivent exposer leur API à un serveur externe de sorte qu'un utilisateur Android doive se connecter au service externe pour communiquer avec l'appareil local ?
Edita:
Ici est une question similaire qui n'a pas été résolue. Et un autre post aquí . Le deuxième lien (datant de 2011) indique que les appareils Android doivent s'appuyer sur la configuration DHCP, alors que Windows et Mac proposent des résolutions de noms alternatives. Est-il toujours vrai qu'Android (4.4) s'appuie entièrement sur le DHCP pour la résolution ? J'ai testé Chrome et Firefox, et les deux retournent que la page demandée n'a pas été trouvée. (... et d'autres questions similaires non résolues )
Edita:
J'ai remarqué qu'il fonctionne maintenant avec Chrome 52.0.2743.98 et Android 4.4.2. Par exemple : j'ai un serveur mopidy local sur un raspberry pi nommé mopidy2. Maintenant je peux donner à Chrome l'adresse "mopidy2:6680" et il trouvera le(s) service(s)". Il est intéressant de noter que Chrome sur un PC acceptera également "mopidy2.local:6680", alors que Chrome sur Android renverra ERR_NAME_NOT_RESOLVED.