2016-06-02 3 views

Répondre

7

Ils font pour le code d'auto-documentation qui indique au lecteur si les données sont dans l'ordre de l'hôte ou du réseau.

5

Ceci est dans le cas où une machine a une sorte de endianness inhabituelle en plus de big-endian ou little-endian qui n'est pas un ou plusieurs swaps d'octets simples.

Par exemple, si la valeur 0x0A0B0C0D était représentée en interne comme 0B 0C 0D 0A, en faisant passer cette représentation à htonl reviendrait 0x0A0B0C0D mais ntohl retournerait 0x0C0D0A0B.

Je ne connais pas de plates-formes qui ont une telle représentation, mais la présence de fonctions séparées pour l'hôte-à-réseau et d'un-à-un-réseau permet la possibilité.

+0

Je pensais à ce cas aussi, mais je me suis abstenu d'écrire une réponse car *** l'ordre des octets *** asymétrique est quelque chose pour les concepteurs de puces excentriques sur dope ... ;-) – alk