ce qui est nécessaire pour faire de la résolution de nom d'hôte de travail sur un réseau local?
Je développe une application en réseau qui fonctionne sur différents ordinateurs sur un réseau local. L'un des principaux besoins est l'application pour maintenir une liste de pairs sur le réseau local avec qui il a communiqué dans le passé, de sorte qu'il peut restaurer la session précédente. Le naïf solution serait de n'oubliez pas les IP et de les stocker dans un tableau, mais ce qui arrive quand l'IP d'un de ses collègues changements?
Au lieu de cela, je pensais stocker le nom d'hôte des pairs, de sorte que même si les changements de propriété intellectuelle qu'ils seront toujours accessible par le biais de leur hôte. (Je sais les noms d'hôtes peut changer aussi, mais qui est assez bon).
Donc ma question est exactement ce qui est nécessaire pour faire de la résolution de nom d'hôte de travail sur un réseau local avec mixte Windows/Mac/Linux clients?
L'application va s'exécuter dans un seul sous-réseau LAN. Mais il sera déployé des milliers de clients au sein de leur propre réseau local. Donc je ne peux pas faire de suppositions sur ce routeur qu'ils utilisent, ou ce que les services de réseau sont disponibles.
OriginalL'auteur lms | 2012-02-06
Vous devez vous connecter pour publier un commentaire.
Sans le recours à une autorité centrale, le seul moyen d'y parvenir est par le biais de l'utilisation de zerconfiguration de résolution de nom. Cela signifie que, sans un routeur de multidiffusion, vous ne être en mesure de résoudre dynamiquement les pairs sur le même sous-réseau que la résolution de l'hôte. Vous pouvez utiliser quelque chose comme bonjour pour mac, netbios ou ssdp pour windows ou avahi pour linux, mais vous ne pouvez pas supposer que ceux-ci sont activés. J'ai peut être oublier des protocoles plus populaires qui remplissent cette fonction, mais je serais personnellement jeter un rapide diffusion udp protocole de résolution de noms pour votre application. Jetez un oeil à ces quelques idées:
Zeroconf de résolution de Nom
Universelle réseau local méthode de résolution de nom sans DNS?
http://en.wikipedia.org/wiki/Zero_configuration_networking#Name_resolution
http://en.wikipedia.org/wiki/Broadcast_address#IP_networking
Je voudrais choisir un port udp spécifique à écouter sur (disons 12000) et puis quand vous êtes prêt à résoudre les hôtes envoyer un "bonjour" paquet udp à 255.255.255.255 sur le port 12000 et toutes les autres machines sur votre réseau à l'exécution de votre application doit répondre avec un paquet contenant leur nom d'hôte, peut-être d'autres informations.
OriginalL'auteur resmon6