Big endian or Little endian on net?

2020-05-25 06:46发布

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条回答
手持菜刀,她持情操
2楼-- · 2020-05-25 07:37

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

查看更多
仙女界的扛把子
3楼-- · 2020-05-25 07:49

"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.

查看更多
Evening l夕情丶
4楼-- · 2020-05-25 07:52

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.

查看更多
登录 后发表回答