Comprendre struct sockaddr
struct sockaddr {
unsigned short sa_family; //address family, AF_xxx
char sa_data[14]; //14 bytes of protocol address
};
Dans cette structure, ce qui est exactement le sens de "l'adresse de la famille" représenté par "sa_family"?
Signifie que les protocoles comme TCP/UDP "adresse"? Ainsi, les protocoles peuvent être des numéros d'identification non pas des adresses, je pense.
De toute façon, si oui, sur quelle base ont leurs familles été divisé?
source d'informationauteur Aquarius_Girl
Vous devez vous connecter pour publier un commentaire.
Le format et la taille de l'adresse est généralement spécifiques à un protocole.
sockaddr
est utilisé comme la base d'un ensemble d'adresses de structures qui agissent comme une victime de l'union, voir http://www.retran.com/beej/sockaddr_inman.html. Vous voyez habituellement à lasa_family
et puis jeté à l'adresse de la famille spécifique de la structure de l'adresse.TCP et UDP n'ont pas d'adresses spécifiques, mais plutôt le niveau IP a différentes tailles de l'adresse IPv4 et IPv6.
Voir aussi:
J'ai trouvé ceci en essayant de reproduire le jnetpcap getHardwareAddress() la méthode en C/C++. L'adresse MAC est contenue, quand sa_family est de 17 (0x11, AF_PACKET), en octets 10-15.