向 wifi 设备发送字节时 NSData 过多且顺序错误

问题描述 投票:0回答:1

我正在尝试将一些数据发送到无线设备。我想要发送的数据是一个字节数组(即字节东西[4])。我已经使用串行电缆完成了此操作并且工作正常。但对于无线版本, NSData 对象将字节合并在一起。假设前四个字节是 24、130、255 和 255。在十六进制中,这些字节是 18、82、FF 和 FF。我想单独发送字节,但是当我检查字节 tha 中的内容时,该字节是 0xffff8218。我不想发送 0x00000000 形式的内容,我宁愿发送 0x00,一次只发送一个字节。我如何让 NSData 创建一个只有一个字节而不是相反顺序的四个字节的对象?谢谢你。

还有一些代码: 这是使用 GCDAyncSocket.h 和 .m

Byte testing[15];
NSData *stuff;

基本上加载一个字节数组,然后将其放入 NSData 中以便能够发送

testing[0]=24;testing[1]=130;testing[2]=255;testing[3]=255;testing[4]=131;testing[5]=255;testing[6]=255;testing[7]=244;testing[8]=5;testing[9]=65;testing[10]=73;testing[11]=83;testing[12]=48;testing[13]=0;testing[14]=224;
stuff = [NSData dataWithBytes:&testing length:15];

当我在发送之前放置断点时,我看到“东西”的第一个字节是 <0xffff8218>

ios wifi nsdata
1个回答
0
投票

NSData
管理字节集合——它不知道这些字节所代表的数据类型、数据的字节顺序等。您可以使用
NSData
 对象获取字节-bytes
方法,它会给您一个
const void *
,然后您可以根据需要一次发送一个字节。

© www.soinside.com 2019 - 2024. All rights reserved.