Quand un utilisateur vous dit à quel ordinateur vous devriez vous connecter, il peut l’exprimer sous deux formes : une adresse IP ou un nom de domaine.
L’adresse IP est généralement constituée d’une suite de quatre nombres, chacun représentant un octet de l’adresse : l’utilisateur sépare les nombres
Rechercher l’adresse IP
par un point. Ce format est appelé adresse Internet, adresse IP ou numéro Internet. Voici un exemple d’une telle adresse IP : 192.168.101.241
Les réseaux n’utilisent pas l’adresse IP dans ce format. Ils veulent que l’adresse soit en format binaire. Celui-ci est constitué de 4 octets, dont chacun contient l’équivalent binaire de l’un des nombres de l’exemple précédent. L’API inet-addr() convertit une adresse IP en son format binaire. Les noms de domaines sont le moyen le plus courant par lequel l’utilisateur fournit une adresse à votre programme. Voici des exemples de noms de domaines :
– ftp.example.com
– iSeriesNetwork.com
– www.google.com
Les noms de domaines sont beaucoup plus faciles à mémoriser que les adresses IP. Mais on a besoin d’une adresse IP pour établir la connexion. Par conséquent, vous devez rechercher l’adresse IP à laquelle un nom de domaine fait référence. Pour cela, vous appelez l’API gethostbyname().
La figure 1 montre un fragment de code qui prend l’entrée d’un utilisateur et la convertit en adresse binaire. Le code commence par utiliser l’API inet_addr() pour essayer de convertir l’entrée provenant d’une adresse IP Internet en adresse binaire (A dans la figure 1). Si cette opération échoue, c’est probablement parce que l’utilisateur a fourni un nom de domaine au lieu d’une adresse IP ; donc, il appelle gethostbyname() pour examiner l’adresse (en B).
Gethostbyname() renvoie *NULL s’il ne peut pas trouver l’hôte, ou il renvoie un pointeur s’il réussit. Le pointeur est dirigé vers une information hôte dans une structure de données nommée hostent. Cette structure de données et le pointeur sur lequel elle est basée sont définis dans le copy book SOCKET_ H. Le champ h_addr fait partie de cette structure de données et contient l’adresse IP, si tout se passe bien (en C).
Gethostbyname() examine l’adresse IP pour un nom de domaine. La façon dont il le fait dépend de la configuration de votre ordinateur. Pour le savoir, émettez la commande Change TCP/IP Domain (CHGTCPDMN) CL, comme dans la figure 2.
Dans cet exemple, la priorité de recherche de Host name a été mise à *LOCAL, comme on le voit dans la figure 2. Cela signifie que gethostbyname() essaie d’abord d’examiner le nom du domaine dans la table d’hôte de votre système. S’il le trouve, il renvoie l’adresse IP qui y est configurée. S’il ne le trouve pas, il adresse une requête au serveur DNS à 192.168.0.1.
Si la priorité de recherche de Host name avait été *REMOTE, gethostbyname() essaierait d’abord DNS et ne se retrouverait sur la table d’hôte que si l’examen de DNS (DNS lookup) échouait.
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Les marchés publics peuvent-ils encore faire émerger des champions numériques français ?
- ESET accélère en France et mise sur l’IA face à la montée des cybermenaces
- Souveraineté des données : cessons de traiter le symptôme, attaquons-nous aux causes
- Asys accélère sur la planification intelligente avec l’acquisition de m-work
Articles les + lus
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
Analyse Patch Tuesday Mai 2026
À la une de la chaîne Tech
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- Analyse Patch Tuesday Mai 2026
