我要给服务器发消息,但是这个网络上传输的大端小端的问题咋解决。。java里面有啥方法?
------解决方案--------------------
按byte发,按byte收就行了
------解决方案--------------------
要编写一个函数,把字节顺序反过来。
uchar *ChangeBufferFloat(uchar *pStr,uchar k,uchar length)
{
uchar i=0,tempq,tempc;
uchar *kStr;
kStr = pStr;
for(i=0;i<length;)
{
tempq=*(kStr+k+i);
tempc=*(kStr+k+i+1);
*(kStr+k+i)=*(kStr+k+i+3);
*(kStr+k+i+1)=*(kStr+k+i+2);
*(kStr+k+i+2)=tempc;
*(kStr+k+i+3)=tempq;
i+=4;
}
return kStr;
}
uchar *ChangeBufferShort(uchar *pStr,uchar k,uchar length)
{
uchar i=0,tempq;
uchar *kStr;
kStr = pStr;
for(i=0;i<length;)
{
tempq=*(kStr+k+i);
*(kStr+k+i)=*(kStr+k+i+1);
*(kStr+k+i+1)=tempq;
i+=2;
}
return kStr;
}
ChangeBufferShort(TempBuffer,4,96);//从ktracebuff[4]开始的96字节
ChangeBufferFloat(databus,16,20);