Bonjour,
Je dois faire un tchat multi-utlisateurs en ipv6 et j'aimerais savoir si il y a en langage c une fonction qui permet de récupérer sa propre ipv6? si oui laquelle?
Merci de votre compréhension
Bonjour,
Je dois faire un tchat multi-utlisateurs en ipv6 et j'aimerais savoir si il y a en langage c une fonction qui permet de récupérer sa propre ipv6? si oui laquelle?
Merci de votre compréhension
En C, il n'y a rien de prévu, il n'y a rien de portable, il faut demander au système d'exploitation. Indique nous ton OS.
Raymond
Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi
CafuroCafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbeUn logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
Les information de mon OS sont les suivantes :
Distributor ID: Ubuntu
Description: Ubuntu 10.10
Release: 10.10
Codename: maverick
Donc, tu utilises les sockets.
Lorsque tu te connectes en tant que client à un serveur, tu n'es pas obligé de nommer ta socket (ce qui se traduit, sur un réseau IP, par l'affecter à une adresse explicite). C'est le système qui la choisit pour toi. Pour la récupérer, il faut donc utiliser getsockname().
getsockname() te renvoie un « nom de socket » qui correspond au domaine dans lequel ton socket existe. Ça veut dire que c'est la même fonction, que tu travailles en IPv4, en IPv6 ou avec des sockets UNIX.
Par contre, il y a de fortes chances pour que ce ne soit pas celle que tu cherches à récupérer : l'adresse que tu vas recevoir est celle que le système d'exploitation t'a affectée, donc ton adresse locale. Si tu es derrière un routeur, tu auras une adresse interne en 192.168.x.x. L'adresse qui est vue par le serveur, elle, dépend de l'équipement qui se trouve tout au long du chemin entre ta machine et le serveur. Pour l'obtenir de façon fiable, il n'y a donc pas d'autre moyen que la demander au serveur (même traceroute peut être filtré sur le trajet). Et, ça, ça ne relève pas de la programmation système, mais du protocole que tu utilises pour communiquer avec ton serveur.
j'utilise TCP comme protocole de communication, donc sachant ceci, y-a-t-il un moyen de récupérer son ipv6 en programmation?
Partager