Les objectifs de tests donnés dans le Tableau 2, « Protocole de couche réseau utilisé suivant les conditions de tests » ont été atteints et le code proposé est fonctionnel même s'il est très certainement perfectible. Si le courage ne vous a pas manqué et que vous êtes arrivé jusqu'à la lecture de ces lignes, ce document peut être vu comme une découverte en trois étapes de l'utilisation conjointe des deux protocoles IPv4 et IPv6.
Avec le programme showip, on a
étudié l'appel à la fonction gettaddrinfo
et la représentation des données
relatives à une adresse IP :
l'enregistrement addrinfo
.
Le code de ce premier programme a été repris pour écrire le client
talker sous deux formes ; une par
protocole de couche transport. Relativement à ce premier programme
on a ajouté le traitement d'ouverture et de fermeture d'une prise
réseau ou socket. Ensuite, les mêmes
instructions ont été exploitées pour le programme serveur
listener lui aussi fourni sous
deux formes. L'utilisation d'une prise réseau unique a été
l'occasion de découvrir la correspondance automatique d'adresse
IPv4 en IPv6 : les IPv4-mapped
IPv6 addresses. Enfin, le serveur a été transformé en version
double prise réseau. Cette dernière étape correspond au code le
plus complexe. Elle a permis de découvrir l'utilisation de la
fonction select()
suivant différents
modes.
Ainsi s'achève ce «petit panorama» des bibliothèques standard associées au sous-système réseau du noyau Linux. Le but était de démystifier l'utilisation des ces fonctions et peut-être de donner l'envie d'aller plus loin dans la découverte des autres fonctions. Pour quelqu'un dont la vocation métier n'est pas le développement, c'est l'occasion d'acquérir un bagage «culturel» minimum sur les contraintes liées à l'utilisation des deux protocoles de couche réseau.