24小时热门版块排行榜    

查看: 382  |  回复: 2
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

wangchog

铁虫 (初入文坛)

[求助] 如何你转身高低位?已有2人参与

我现在需要发送的数据是0001,但是接收端接收到的数据是0100,这个问题出现在哪里?是我发送端的问题还是接收端的问题?如何可以更改?求助大神指导!!!
回复此楼
坚持!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

几罗星人

新虫 (初入文坛)

【答案】应助回帖

先说清楚你的收发端是什么,什么方式进行的收发。例如本人做硬件与上位机通信的时候,经常就会出现丢数据的现象。0001发出去,丢了两个0,变成了01,而且因为缓冲区后面都是初始化为0的,所以变成0100不奇怪。不一定是程序有什么大问题。

多发一些数据试试。如果是在两个设备上通信,才考虑高低字序的问题,在同一台设备上,纯软件通信就不必考虑这个问题了。
3楼2016-02-24 01:29:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 3 个回答

baghnac

金虫 (小有名气)

【答案】应助回帖

这个是字节序问题,跨机器间的信息传递(含文件)都要考虑转序
简单的说,发出的数据(写入的文件)一般都要求网络序
如果short类型是用htons()函数转序
而接收消息(读取文件)要转成本机序,用ntohs()转
long类型就是htonl()\ntohl()
Beagreathackernotacracker!
2楼2016-02-06 09:08:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见