为什么整数类型被颠倒了?

时间:2015-06-13 10:05:35

标签: c endianness mailslot

我正在制作服务器程序,而客户端已经发送了各种数据,如字符串,整数。

当客户端程序发给我字符串时, 我按正常顺序收到了。

例如,

客户给我发了“你好” 我收到了 h o l l o \ 0

但是,客户端发送了一个像12345这样的整数 我收到了颠倒。

例如)

客户想要发给我12345(整数类型) 他或她发送了'30''39''\ 0' 然后我收到'57''48''\ 0'('5​​7'是'0x39'的dec,'48'是'0x30'的dec')

我发现该值是颠倒发送的,我认为这是因为网络字节顺序。 但是,我没有使用网络,我有客户端和服务器程序。 换句话说, 我发送了自己的数据,而我的电脑没有连接互联网。

我使用c语言的邮件槽与客户端通信。 为什么整数类型被颠倒了?

1 个答案:

答案 0 :(得分:0)

与套接字相关的函数使用big-endian来存储某些函数的整数。您必须使用可用的功能翻译它们,或者您可以编写自己的宏来执行此操作,这并不困难。