【发布时间】:2014-01-18 09:02:49
【问题描述】:
我正在使用Winsock API 开发一个网络应用程序。每当我测试应用程序以发送几个字节时,例如在数组中:
char[0] = '1';
char[1] = '2';
char[2] = '3';
char[3] = '4';
char[4] = '\0';
我使用send 和recv 套接字在本地主机上运行的另一个应用程序上接收字节,然后字节顺序似乎根本没有改变。仅仅是因为我在 localhost 服务器上测试它吗?网络字节序是否会改变为:
char[0] = '\0';
char[1] = '4';
char[2] = '3';
char[3] = '2';
char[4] = '1';
如果我是通过 Internet 收到的?
【问题讨论】:
-
据我了解(这对我来说是一个困惑的根源),我相信字节序只是序列化多字节对象时的一个因素。对象 within 中的字节会被重新排序。在这里,您发送的
chars 是单字节的,因此无法重新排列。这并不是说您的整个流都被重新排序。我不确定这一点,所以确认会很好。
标签: c++ windows winapi winsock endianness