Big endian or Little endian on net?

后端 未结 3 456
粉色の甜心
粉色の甜心 2021-02-04 02:59

In what byte order does data transfer occur on net? Is it Little Endian or big endian? How is it converted to the respective byte order once the data reaches the host ?

相关标签:
3条回答
  • 2021-02-04 03:32

    "Network byte order" is Big Endian, and protocols such as TCP use this for integer fields (e.g. port numbers). Functions such as htons and ntohs can be used to do conversion.

    The data itself doesn't have any endianness it's entirely application defined, unless you're using a Presentation Layer such as XDR.

    0 讨论(0)
  • 2021-02-04 03:39

    if you are using tcp using htons((short)port) enables you to use network safe protocol(basically big endian) and dont care about little vs. big endian.

    if you do need to convert use http://www.codeguru.com/forum/showthread.php?t=292902

    Its explained well

    0 讨论(0)
  • 2021-02-04 03:58

    Its transferred in whatever order you send it.

    Traditionally, internet protocols use big endian, because the machines doing most of the communication were big endian.

    However, if you define your own structures to send across the net, there is no need to follow that convention.

    With C programming, typically, one often uses the htons or ntohs macros to do the conversion.

    0 讨论(0)
提交回复
热议问题