Ocaml gethostbyname not found

a marqué ce sujet comme résolu.

Bonjour,

je suis en train de tester le module Unix pour apprendre a faire des architectures clients serveurs, et a vrai dire je suis bloqué au point de départ étant donné que la requête Unix.gethostbyname me renvoie toujours "Not_found", et je comprends pas pourquoi (j’ai cherché, rien trouvé), c’est normal ?

+0 -0

Bah, pour le coup, j’ai seulement utiliser la fonction dans le toplevel d’ocaml

let my_addr = (Unix.gethostbyname (Unix.gethostname())).Unix.h_addr_list.(0) qui doit me récuperer mon adresse, en gros ici je requete la base d’adresse qui fait la correspondance entre un nom et une adresse, j’ai bien verifier que Unix.gethostname() me renvoyais bien le nom de ma machine, mais la requete en elle meme pour recuperer l’adresse associé, ne fonctionne jamais, et je pense pas que ce soit normal.

+0 -0

Version d’Ocaml : 4.06.1 Je suis sous mac os (donc a prioris, aucun soucis ?), et je lance le toplevel en tapant "ocaml" et en "loadant" le module Unix evidemment.

EDIT : meme en testant avec un fichier que je compile et execute, ça fonctionne pas.

+0 -0

Ben si, ça pourrait venir de OSX (qui aime bien casser ses interfaces systèmes d’une version à l’autre, donc est assez casse-pied à gérer). Que renvoie Unix.gethostname () ?

gasche

ok, j’en savais rien. ça m’affiche : "MacBook-Pro-de-YoRHa.local"

EDIT : par contre si je test Unix.gethostbyname avec "localhost", la ça fonctionne

+0 -0

Par curiosité, si tu fais la requête en virant .local à la fin, est-ce que ça marche ?

C’est bien que "localhost" fonctionne mais ça ne va pas donner le même résultat. Chez moi, localhost donne l’IP de l’hôte local (127.0.0.1), mais demander mon "vrai" hostname va donner mon IP sur le réseau local (192.168.foo.bar).

Si on arrive à comprendre quel est le problème, il faudrait faire un rapport de bug sur OCaml j’imagine, c’est censé marcher.

Par curiosité, si tu fais la requête en virant .local à la fin, est-ce que ça marche ?

ça change rien, c’est meme pire parce que la ou avec le ".local" l’exception arrive au bout de 2/3 grosse secondes, sans le ".local" c’est instantané.

C’est bien que "localhost" fonctionne mais ça ne va pas donner le même résultat. Chez moi, localhost donne l’IP de l’hôte local (127.0.0.1), mais demander mon "vrai" hostname va donner mon IP sur le réseau local (192.168.foo.bar).

Oui effectivement c’est pareil localhost est bindé avec 127.0.0.1

Si on arrive à comprendre quel est le problème, il faudrait faire un rapport de bug sur OCaml j’imagine, c’est censé marcher.

gasche

Je ne suis pas sensé avoir paramétré quelque chose ? Genre dans mon fichiers hosts ou quoi, ou alors si j’achète un pc sans rien touché, c’est sensé fonctionner ?

en tout cas c’est extremement handicapant pour moi, vu que j’en ai besoin pour un projet et que j’ai rien d’autre a disposition chez moi.

+0 -0

Hello, on va revenir au début, que donne ping <tonhostname> ?

unidan

"ping: cannot resolve MacBook-Pro-de-YoRHa.local: Unknown host"

du coup bah j’ai récup mon adresse ip, et je l’ai pingé avec mon hostname dans /etc/hosts… et la bah forcément ça fonctionne, je sais pas si c’est bien ça qu’il fallais faire, mais voila.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte