由于主控与显控之间采用的是UDP协议,所以显控给主控发送的数据要按照网络字节序(也就是大端)发送,也就是低字节数据放到高地址,举例:比如要把tmp这样一个int四字节的数据,unsigned int tmp = 0x11223344;放进array中发送出去,需要下面这样赋值:
QByteArray array;
Array[0]=44;
Array[0]=33;
Array[0]=22;
Array[0]=11;
由于一般显控主机内核是x86架构的,都是小端存储的,所以在应用UDP协议的时候不能直接用结构体赋值,然后强转char*发送,需要手动先转换成网络字节序,主控接收端接收到数据再用结构体指针强转才能正确。

博客介绍了主控与显控采用UDP协议时的数据处理方式。显控给主控发送数据需按网络字节序(大端),因显控主机内核多为x86架构,是小端存储,应用UDP协议不能直接用结构体赋值强转发送,要手动转换,主控接收后再用结构体指针强转。
1526

被折叠的 条评论
为什么被折叠?



