J'ai un programme (écrit en C) qui utilise getaddrinfo()
et son premier paramètre est le nom d'hôte que je veux pour obtenir des informations d'adresse, disons que c'est "domaine". Dans mon fichier /etc/hosts
sur la même machine, je peux voir que "domaine" est censé se résoudre à 192.168.1.200. Lorsque j'exécute le programme, il se bloque à chaque appel et ne peut pas obtenir les informations d'adresse. Toutefois, si je remplace "domaine" par l'adresse IP réelle, cela fonctionne très bien. D'ailleurs, ce problème n'existait pas il y a une semaine ou deux, c'est un nouveau problème qui a soudainement augmenté sa tête laide. Je suis à peu près certain que quelque chose a dû être fait à cette machine la semaine dernière, et j'ai essayé de vérifier cela avec nos autres employés, mais ils ne savent pas non plus pourquoi cela se produirait. Donc, ma question est: est-ce que quelqu'un a une idée de ce qui se passerait soudainement? Que puis-je vérifier pour vérifier qu'il est configuré comme il se doit? Merci d'avance.C getaddrinfo() ne résout pas le nom
Répondre
Utilisez-vous Linux? Ma conjecture est que vous avez foiré quelque chose avec le libnss
messieurs glibc utilise pour router toutes ses recherches de nom (noms d'hôte, noms d'utilisateur, noms de groupe, etc.), peut-être par une mise à niveau glibc bâclée. Essayez d'exécuter votre programme avec strace
et de voir si il essaie (et échoue) d'ouvrir les fichiers libnss_*
. Regardez également /etc/nsswitch.conf
pour vous assurer que la ligne hosts:
indique hosts: files dns
. man nsswitch.conf
pourrait être utile.
Oui désolé, nous utilisons Linux (Gentoo) et il est peut-être un problème de mise à niveau glibc bâclé, je vais regarder dans ce domaine. Je vous remercie. – LebowskiT1000
Il s'avère que je faisais une grande supposition DOH! J'ai écrit un petit programme en utilisant la fonction en question et j'ai travaillé sans problème! Après un peu plus de recherche et de débogage, j'ai trouvé que c'était un problème avec les données qu'il récupérait à partir de la connexion socket que je faisais. Désolé pour le problème, mais merci pour l'aide. – LebowskiT1000
- 1. Parser SAX ne résout pas le nom de fichier
- 2. FxCop ne résout pas les références externes
- 3. Le chemin du dossier ASP Web.config ne se résout pas
- 4. VA-args ne résout pas correctement
- 5. L'attribut Unity [Dependency] ne se résout pas
- 6. routes nommées dans le contrôleur ne résout pas
- 7. Le mappage du contrôleur Grails '/' ne résout pas correctement
- 8. IIS 5.1 ne résout pas le répertoire virtuel
- 9. L'unité (dans PRISM) ne résout pas (pas) bizarre ... ?? !!
- 10. getaddrinfo() échoue dans Android?
- 11. Déclaration des variables ne résout pas comme prévu
- 12. ITypeResolutionService ne résout aucun type
- 13. Jasper dans Equinox - ne résout pas jstl core uri
- 14. ResolveURL ne résout pas dans un contrôle utilisateur
- 15. La fonction Tabexpansion ne résout pas la variable
- 16. La référence d'assembly ne se résout pas dans Web.config
- 17. WCF: auto-hôte un service NetTcp, ne résout pas
- 18. est-ce que "linq where" ne résout pas les propriétés?
- 19. authenticate_or_request_with_http_basic ne résout pas sur l'hôte, mais travaille sur
- 20. Tilde ne résout pas dans HyperLinkColumn dans ASP.NET 2.0
- 21. Pourquoi Facebook ne résout-il pas correctement une URL Twitter?
- 22. Maven ne résout pas un plug-in Grails local
- 23. Pourquoi ivy ne résout-il pas mes dépendances?
- 24. "getaddrinfo: nom ou service inconnu" lorsque rake db: migrate
- 25. getaddrinfo comportement incohérent
- 26. Le code des boucles internes ne se résout pas lors de la transaction Spring
- 27. wsimport "ne peut pas résoudre le nom ..."
- 28. Le nom ne s'affiche pas sur jsp
- 29. Le nom de l'URL ne change pas
- 30. Le nom ne peut pas commencer par le caractère ''
Vous ne pouvez pas poster un échantillon de code? –
Les outils de ligne de commande tels que ping peuvent-ils résoudre correctement les mêmes noms? – SimonJ