Gethostbyname(); problème d'utilisation
Résolu
Laurent SCHAFFNER
-
Timon1102 Messages postés 354 Date d'inscription Statut Membre Dernière intervention -
Timon1102 Messages postés 354 Date d'inscription Statut Membre Dernière intervention -
Bonjour je suis débutant en langage C bien que j'ai déjà de l'experience en Flash/PHP et quelques autres langages un peu moins complexe que celui-ci !
je cherche à convertir une redirection DNS (irc.****.fr) en une ip (0.0.0.0) j'essaye donc depuis quelques jours d'utiliser gethostbyname(); le problème étant que je ne maîtrise pas les structures puisque que je débute, j'ai longtemps chercher à savoir faire ça mais à rien ne marche, j'en suis à cette experimentation:
struct hostent *gethostbyname(const char *serv);
Ici gethostbyname renvoi sur hostent les données h_name h_addr_list etc... qui me permettrons de recuperer l'IP de la variable serv qui contient l'adresse pointer par *serv. Seulement je ne sais pas comment faire pour lire ses données ! Dans une tels structure je ne sais pas qu'elle est la variable structurée qui conserve les données renvoyer par gethostbyname...
Pourriez vous m'aidé à trouver une solution svp ?
Si je fais fausse route dans mon apprentissage de l'utilisation de structures n'hésiter pas à me le dire :)
je cherche à convertir une redirection DNS (irc.****.fr) en une ip (0.0.0.0) j'essaye donc depuis quelques jours d'utiliser gethostbyname(); le problème étant que je ne maîtrise pas les structures puisque que je débute, j'ai longtemps chercher à savoir faire ça mais à rien ne marche, j'en suis à cette experimentation:
struct hostent *gethostbyname(const char *serv);
Ici gethostbyname renvoi sur hostent les données h_name h_addr_list etc... qui me permettrons de recuperer l'IP de la variable serv qui contient l'adresse pointer par *serv. Seulement je ne sais pas comment faire pour lire ses données ! Dans une tels structure je ne sais pas qu'elle est la variable structurée qui conserve les données renvoyer par gethostbyname...
Pourriez vous m'aidé à trouver une solution svp ?
Si je fais fausse route dans mon apprentissage de l'utilisation de structures n'hésiter pas à me le dire :)
A voir également:
- Gethostbyname(); problème d'utilisation
- Utilisation chromecast - Guide
- Télécharger gratuitement notice d'utilisation - Guide
- Manuel utilisation batigest connect pdf - Forum compta / gestion
- La ressource demandée est en cours d'utilisation ✓ - Forum Logiciels
- Family link temps d'utilisation ne fonctionne pas - Forum Contrôle parental
1 réponse
Salut, je pense qu'il y a plus simple pour s'initier aux structures... mais bon, puisque tel est ton désir...
voici une fonction qui retourne l'adresse ip en fonction du nom
(les uint32_t est le type dans la structure, donc c'est ce que je retourne, mais tu dois pouvoir en faire un int)
@+
voici une fonction qui retourne l'adresse ip en fonction du nom
(les uint32_t est le type dans la structure, donc c'est ce que je retourne, mais tu dois pouvoir en faire un int)
uint32_t adresse_ip(const char* hostname) { struct hostent * info = gethostbyname(hostname); if (!info) {perror("");exit(1) ;} return ntohl(*(uint32_t*)info->h_addr_list[0]) ; // network to host --> c'est l'adrese kil fo rendre ds le HOST ORDER }
@+