L'objectif principal de AF_INET était de permettre à d'autres protocoles réseau possible ou les familles d'adresse (AF est pour la famille d'adresse, PF_INET est pour le protocole Internet (IPv4) famille). Par exemple, il existe probablement encore quelques réseaux Netware SPX/IPX; Il y avait d'autres systèmes de réseau comme DECNet, StarLAN et SNA, sans parler de l'ISO OSI (Open Systems Interconnection) mal conçue, et ceux-ci n'utilisaient pas nécessairement l'adresse IP désormais omniprésente pour identifier l'hôte homologue dans les connexions réseau.
L'alternative omniprésente à AF_INET (qui, rétrospectivement, aurait dû s'appeler AF_INET4) est AF_INET6, pour la famille d'adresses IPv6. IPv4 utilise des adresses 32 bits; IPv6 utilise des adresses 128 bits.
Vous pouvez voir d'autres valeurs, mais elles sont inhabituelles. Il est là pour permettre des alternatives et des orientations futures. L'interface des sockets est vraiment très générale, ce qui est l'une des raisons pour lesquelles elle a prospéré là où d'autres interfaces de réseau ont flétri.
La vie est (la plupart du temps) devenue plus simple - soyez reconnaissants.
Merci pour votre réponse - je déduisant que votre réponse à ma première question est que son but est de définir ce protocole réseau à utiliser? Pourriez-vous être plus précis sur les autres questions? – Smashery
Bon point sur AF_INET6; Les autres familles d'adresses sont prises en charge sur certains systèmes d'exploitation. – MarkR