Se connecter
Se connecter
Inscription
Mot de passe perdu
Connexion:
[Actualités]
Microsoft lance une nouvelle fonction Excel et finalise l'intégration de Forms
[Actualités]
La nouvelle règle de l’UE entre en vigueur : l’argent transféré en 10 sec...
[Actualités]
Un autre câble sous-marin endommagé, cette fois cela affecte l'alimentation é...
[Actualités]
Mauvaise nouvelle si vous possédez un de ces smartphones : très bientôt vous ...
[Actualités]
Windows 11 : le menu Démarrer ne fonctionne parfois plus après la mise à jour
[Actualités]
Test Legacy of Kain Soul Reaver 1&2 Remastered (PS5) - Raziel de retour
[Actualités]
2025 nous apportera le nouvel iPad abordable : nouveaux détails de lancement
[Actualités]
Découvrons quand le Père Noël arrivera pour livrer nos cadeaux, avec Santa Tr...
[Actualités]
Nintendo Switch 2, la date d'annonce et le mois de sortie ont-ils été révélÃ...
[Actualités]
WhatsApp nous permet désormais de réagir à un message en « tirant des confet...
[Articles]
Legacy of Kain Soul Reaver 1&2 Remastered
[Articles]
The Thing Remastered
[Articles]
Mario & Luigi : L'épopée fraternelle
[Articles]
Deel acquiert la plateforme mondiale de gestion de la rémunération Assemble
[Articles]
Xuan Yuan Sword: The Gate of Firmament
[Articles]
Cyber-sécurité : bilan 2024 et regard vers 2025 par Andy Garth, directeur Aff...
[Articles]
Diesel Legacy: The Brazen Age
[Articles]
FANTASIAN Neo Dimension
[Articles]
Fairy Tail 2
[Articles]
Réseaux sociaux inondés d'arnaques deepfake ; Formbook, voleur d'informations ...
Actualités
Lettre d'information
Proposer une actualité
Archives
Actualités
Articles
Programmation
Press Release
Matériel
Logiciels
Livres
Interviews
Derniers commentaires
Jeux Vidéos
XBox One
XBox 360
Wii U
PSP
PS4
PS3
PC
DS
GameCube
3DS
Forum
Derniers messages
Informatique
Fun
Divers
Logithèque
Blogs
Divers
A Propos
Annonceurs
Contact
Recherche
RSS
Editer un article
Titre
Mots Clés
Texte
[size=18] [b]Nom[/b] [/size] getaddrinfo, freeaddrinfo, gai_strerror - Traduction d'adresses et de services réseau. [size=18] [b]Résumé[/b] [/size] .nf [b]#include
[/b] [b]#include
[/b] [b]#include
[/b] [b][i]int getaddrinfo(const char * node , const char * service ,[/i][/b] [b][i] const struct addrinfo * hints ,[/i][/b] [b][i] struct addrinfo ** res );[/i][/b] [b][i]void freeaddrinfo(struct addrinfo * res );[/i][/b] [b][i]char * gai_strerror(int errcode );[/i][/b] .fi [size=18] [b]Description[/b] [/size] La fonction [b]getaddrinfo (3)[/b] combine les possibilités offertes par les fonctions [b]getipnodebyname (3),[/b] [b]getipnodebyaddr (3),[/b] [b]getservbyname (3),[/b] et [b]getservbyport (3)[/b] en une unique interface. La fonction [b]getaddrinfo (3)[/b] adaptée aux contextes multithreads crée une ou plusieurs structures d'adresses de socket, utilisables par [b]bind (2)[/b] et [b]connect (2)[/b] pour créer une socket de client ou de serveur. La fonction [b]getaddrinfo (3)[/b] n'est pas limitée aux structures d'adresses IPv4, elle permet également la création de structures IPv6 si le support en est disponible. Ces structures peuvent être utilisées directement par [b]bind (2)[/b] ou [b]connect (2),[/b] pour préparer une socket de client ou de serveur. La structure [b]addrinfo[/b] utilisée par cette fonction contient les membres suivants : .nf [b]struct addrinfo {[/b] [b][i] int ai_flags ;[/i][/b] [b][i] int ai_family ;[/i][/b] [b][i] int ai_socktype ;[/i][/b] [b][i] int ai_protocol ;[/i][/b] [b][i] size_t ai_addrlen ;[/i][/b] [b][i] struct sockaddr * ai_addr ;[/i][/b] [b][i] char * ai_canonname ;[/i][/b] [b][i] struct addrinfo * ai_next ;[/i][/b] [b]};[/b] .fi La fonction [b]getaddrinfo (3)[/b] fait pointer [i]res[/i] vers une liste de structures [b]addrinfo[/b] nouvellement allouées, chaînées par leurs membres [b]ai_next .[/b] La liste peut contenir plusieurs structures [b]addrinfo[/b] pour plusieurs raisons, par exemple : l'hôte fonctionne en multi-home, ou le même service est disponible sur plusieurs types de sockets (une socket [b]SOCK_STREAM[/b] et une socket [b]SOCK_DGRAM[/b] par exemple). Les membres [b]ai_family ,[/b] [b]ai_socktype ,[/b] et [i]ai_protocol[/i] ont la même signification que leurs homologues de l'appel-système [b]socket (2).[/b] La fonction [b]getaddrinfo (3)[/b] renvoie les adresses de sockets autant en IPv4 qu'en IPv6 [i]( ai_family[/i] contiendra [b]PF_INET[/b] ou [b]PF_INET6 ).[/b] L'argument [i]hints[/i] permer de préciser le type préféré de socket ou de protocole. Un argument [i]hints[/i] NULL indique que tout type d'adresse ou de protocole est acceptable. Si ce paramètre n'est pas [b]NULL[/b] il doit pointeur sur une structure [b]addrinfo[/b] dont les membres [b]ai_family ,[/b] [b]ai_socktype ,[/b] et [i]ai_protocol[/i] indique les types de socket préférés. [b]PF_UNSPEC[/b] dans le membre [i]ai_family[/i] indique que toute famille de d'adresse (autant IPv4 que IPv6, par exemple) est acceptable. De même un 0 dans les membres [i]ai_socktype[/i] ou [i]ai_protocol[/i] indique que tout type de socket ou de protocole est admis. Le membre [i]ai_flags[/i] indique des options supplémentaires décrites plus bas. Divers attributs sont regroupés par un OU binaire. Tous les autres membres de l'argument [i]hints[/i] doivent contenir 0 ou être des pointeurs NULL. L'argument [i]node[/i] ou l'argument [i]service [/i] peuvent être NULL, mais pas les deux en même temps. [i]node[/i] indique soit une adresse réseau en format numérique (décimal pointé pour l'IPv4, hexadécimal pour l'IPv6), soit un nom d'hôte, dont l'adresse réseau est alors résolue. Si le membre [i]ai_flags[/i] de l'argument [i]hints[/i] contient l'attribut [b]AI_NUMERICHOST[/b] alors le paramètre [i]node[/i] devra être une adresse réseau numérique. L'attribut [b]AI_NUMERICHOST[/b] empêche toute tentative - éventuellement longue - de résolution de nom d'hôte. La fonction [b]getaddrinfo (3)[/b] crée une liste chaînée de structures [b]addrinfo ,[/b] une pour chaque adresse réseau soumise aux restrictions imposées par l'argument [b]hints .[/b] Le membre [i]ai_canonname[/i] pointera vers le nom officiel de l'hôte si le membre [i]ai_flags[/i] de l'argument [i]hints[/i] contient l'attribut [b]AI_CANONNAME .[/b] Les membres [b]ai_family ,[/b] [b]ai_socktype ,[/b] et [i]ai_protocol[/i] indiquent les paramètres de création de socket. Un pointeur vers l'adresse de la socket est placé dans le membre [b]ai_addr ,[/b] et la longueur de l'adresse de la socket, en octets, est inscrite dans le membre [i]ai_addrlen[/i] de la structure. Si l'argument [i]node[/i] est NULL, l'adresse réseau dans chaque structure d'adresse est initialisée en fonction de l'attribut [b]AI_PASSIVE[/b] que l'on inscrit dans le membre [i]ai_flags[/i] de l'argument [b]hints .[/b] L'adresse réseau de chaque structure sera laissée vide si l'attribut [b]AI_PASSIVE[/b] est présent. Ceci est utilisé par les serveurs qui désirent accepter les connexions des clients sur n'importe quelle interface réseau. L'adresse réseau sera remplie avec l'adresse de boucle loopback si l'attribut [b]AI_PASSIVE[/b] n'est pas utilisé. Ceci est utilisé par les clients qui désirent se connecter sur un serveur fonctionnant sur le même hôte. L'argument [i]service[/i] indique le numéro de port au sein de l'adresse réseau de la socket. Si [i]service[/i] est NULL le numéro de port restera non initialisé. La fonction [b]freeaddrinfo (3)[/b] libère la mémoire qui a été allouée dynamiquement pour la liste chaînée [b]res .[/b] [size=18] [b]Valeur renvoyée[/b] [/size] [b]getaddrinfo (3)[/b] renvoie 0 si elle réussit, ou l'un des codes d'erreur non-nuls suivants : [b]EAI_FAMILY[/b] [table][row][col] [/col][col]La famille d'adresse réclamée n'est pas supportée du tout.[/col][/row][/table] [b]EAI_SOCKTYPE[/b] [table][row][col] [/col][col]Le type de socket demandé n'est pas supporté.[/col][/row][/table] [b]EAI_BADFLAGS[/b] [i]ai_flags[/i] [table][row][col] [/col][col]contient des attributs invalides.[/col][/row][/table] [b]EAI_NONAME[/b] [table][row][col] [/col][col]Le contenu du champ [i]node[/i] ou de [i]service[/i] est inconnu. Cette erreur est aussi renvoyée si [i]node[/i] et [i]service[/i] sont simultanément NULL.[/col][/row][/table] [b]EAI_SERVICE[/b] [table][row][col] [/col][col]Le service demandé n'est pas disponible pour le type de socket réclamé. Il peut être disponible pour un autre type de socket.[/col][/row][/table] [b]EAI_ADDRFAMILY[/b] [table][row][col] [/col][col]L'hôte indiqué n'a pas d'adresse dans la famille réseau demandée.[/col][/row][/table] [b]EAI_NODATA[/b] [table][row][col] [/col][col]L'hôte existe mais n'a pas d'adresse réseau définie.[/col][/row][/table] [b]EAI_MEMORY[/b] [table][row][col] [/col][col]Pas assez de mémoire.[/col][/row][/table] [b]EAI_FAIL[/b] [table][row][col] [/col][col]Le serveur de noms a renvoyé une erreur définitive.[/col][/row][/table] [b]EAI_AGAIN[/b] [table][row][col] [/col][col]Le serveur de noms a renvoyé une erreur temporaire. Réessayez plus tard.[/col][/row][/table] [b]EAI_SYSTEM[/b] [table][row][col] [/col][col]Autre erreur système, voir [i]errno[/i] pour plus de détail.[/col][/row][/table] La fonction [b]gai_strerror (3)[/b] traduit ces codes d'erreur en une chaîne de caractères compréhensible, utilisable pour rendre compte du problème. [size=18] [b]Voir aussi[/b] [/size] [b]getipnodebyname (3),[/b] [b]getipnodebyaddr (3)[/b] [size=18] [b]Traduction[/b] [/size] Christophe Blaess, 2000-2003.
Fichier
Forum
-
Derniers messages
Bavardages
Aujourd'hui, je rénove ou je construis ^^
Software
problème sur windows 10
Réseaux et Télécom
Administrateur Réseau - Cisco
Réseaux et Télécom
Problème wifi (POE)
Software
Postfix - Need help
Bavardages
Oh râge oh désespoir !
Programmation
Enregistrement client et envoi mail
Software
SÉCURITÉ MACBOOK
Hardware
conseil matos réseau?
Hardware
nVidia Shield Android TV
Actualités
-
Archives
Microsoft
Microsoft lance une nouvelle fonction Excel et finalise l'intégration de Forms
Economie
La nouvelle règle de l’UE entre en vigueur : l’argent transféré en 10 secondes à partir de 2025
Internet
Un autre câble sous-marin endommagé, cette fois cela affecte l'alimentation électrique
Social
Mauvaise nouvelle si vous possédez un de ces smartphones : très bientôt vous ne pourrez plus utiliser WhatsApp
Windows
Windows 11 : le menu Démarrer ne fonctionne parfois plus après la mise à jour
Ada
CSS
Cobol
CPP
HTML
Fortran
Java
JavaScript
Pascal
Perl
PHP
Python
SQL
VB
XML
Anon URL
DailyMotion
eBay
Flickr
FLV
Google Video
Google Maps
Metacafe
MP3
SeeqPod
Veoh
Yahoo Video
YouTube
6px
8px
10px
12px
14px
16px
18px
Informaticien.be
- © 2002-2024
Akretio
SPRL - Generated via
Kelare
The Akretio Network:
Akretio
-
Freedelity
-
KelCommerce
-
Votre publicité sur informaticien.be ?