J'ai une struct sockaddr et j'ai besoin de faire une structure addrinfo (en particulier parce que c'est ce que veut une autre API). L'adresse IP peut être IPv4 ou IPv6. Quelle est la meilleure façon de gérer cela?Comment créer une structure addrinfo à partir de struct sockaddr?
2
A
Répondre
5
struct addrinfo {
int ai_flags;
int ai_family;
int ai_socktype;
int ai_protocol;
size_t ai_addrlen;
struct sockaddr *ai_addr;
char *ai_canonname;
struct addrinfo *ai_next;
};
A struct addrinfo
contient plus d'informations qu'un struct sockaddr
fait. Étant donné un struct sockaddr_in
, vous pouvez avoir certaines de ces informations (.ai_family = AF_INET, .ai_addrlen = sizeof(struct sockaddr_in)
). Que cela soit suffisant dépend de ce que recherche l'autre API.
Questions connexes
- 1. Comment créer une structure JSON dynamiquement à partir de Go?
- 2. Avoir échoué à créer une structure de type 'queue-like' - problèmes avec les déclarations struct?
- 3. assigner sockaddr à un autre change l'addr?
- 4. Comment créer une chaîne lisible par un humain à partir d'une structure?
- 5. Création d'un PyBuffer à partir d'un struct struct
- 6. Pouvez-vous créer une structure à partir d'un tableau de longueur spécifique?
- 7. Comment envoyer une structure à l'aide sendto()
- 8. Créer IGrouper à partir d'une structure de données déjà groupée
- 9. Puis-je obtenir la taille d'un champ struct sans créer une instance de la structure?
- 10. Comment créer une structure de Particules à partir de texte dans AS3?
- 11. Conversion d'une structure C en FFI :: Struct
- 12. Comment exporter une définition de struct à partir d'un C .dll natif pour l'utiliser en C#
- 13. Affectation à struct dans une classe différente
- 14. Const C Array Struct dans Struct Array
- 15. Déclarer une classe/struct
- 16. Comment créer une arborescence C# à partir de SQL Hierarchyid?
- 17. Créer une carte avec "Struct" dans NSDictionary dans Objective-c?
- 18. Différence entre "struct foo *" et "foo *" où foo est une struct?
- 19. Créer une structure de groupe dans Drupal
- 20. Initialiser unmanage struct à partir du code managé (C#)
- 21. Comment créer un schéma XSD à partir de XML avec ce type de structure (en .net)?
- 22. Créer une structure de données parent/enfant à partir d'une liste simple
- 23. C++ Collections: comment créer une carte comme la structure
- 24. Comment déplacer une structure dans une classe?
- 25. Signification de "ce" pour une struct (C#)
- 26. Comment créer une structure de données avec des limites d'exécution
- 27. Comment créer et utiliser une fausse structure de répertoire?
- 28. struct to bytes
- 29. puis-je accéder à une structure à l'intérieur d'une structure sans utiliser l'opérateur point?
- 30. Comment créer une structure de menu dynamique avec Django?
Oui, créer un nouvel addrinfo, mettre le sockaddr dans * ai_addr et remplir les autres champs avec des valeurs raisonnables semble être le chemin à parcourir. – bortzmeyer