2010-03-22 6 views
0

J'utilise la méthode DNSSD.resolve() pour obtenir des informations sur un service trouvé par Bonjour. J'ai pu obtenir le port du service trouvé ainsi que son nom d'hôte. Cependant, le nom d'hôte ne ressemble pas à ce que j'attendais. Je pensais que ce sera une adresse IP mais elle est égale à ID00926.local.. Qu'est-ce que c'est? Puis-je l'utiliser comme une adresse IP pour créer des sockets en Java?Pourquoi ce nom d'hôte semble-t-il si étrange?

Répondre

1

Il semble que vous obteniez un type de nom d'hôte défini localement, que ce soit dans un DNS local si vous êtes sur un réseau d'entreprise ou peut-être dans le fichier hôte.

Le moyen le plus simple de voir que le nom se résout correctement est d'essayer de le cingler, si cela fonctionne, alors vous pouvez l'utiliser. Malheureusement je ne suis pas familier avec Java, donc quelqu'un d'autre devra remplir sur ces détails, mais je suppose que vous devez d'abord faire une recherche de nom afin d'obtenir une adresse IP pour passer à la socket.

1

DNSSD.register() enregistre le nom, le type et le protocole de votre service en utilisant le nom d'hôte et le numéro de port fournis. Une deuxième étape est nécessaire pour résoudre le nom d'hôte dans une adresse. Si vous ne spécifiez pas le nom d'hôte à enregistrer, il utilise le nom d'hôte défini. S'il n'y a pas de nom d'hôte défini, alors un est créé. C'est probablement ce qui est arrivé.